《C++程序设计教程——给予Visual Studio 2008》读书笔记1,2章
double *p1; //p1为指向double型的指针变量
POINT *p2; //p2为指向POINT型(点类型)的指针变量
int (*p3)[6]; //p3为指向一维数组的指针变量,该一维数组含有6个int型的元素
int (*p4)(); //p4为指向函数的指针变量,该函数的返回值为int型
数组指针:
是一个指针。该指针指向的数据类型是数组类型,存放的是数组的起始地址。
int (*ArrayPtr)[100]; //申明一个数组指针ArrayPtr,指针指向包含100个整形元素的一维数组
指针数组:
一个数组,该数组中的元素是指针。
int *ArrayPtr[100]; //声明一个指针数组,数组名称为PtrArray,数组里面的元素可以存放整形类型变量的地址。
引用
引用是一个变量的别名,是一个目标对象的替代名,它由符号&来引导。对一个变量的引用操作,就是对这个变量的操作。
引用一旦初始化,它就与一个变量绑定在一起,任何对变量的赋值,都是对引用的赋值,同理,任何对引用的赋值,也就是对变量的赋值。
引用和指针的区别
引用和指针在函数参数传递时作用相同,但也有如下不同:
(1)指针是一个变量的地址,而引用则是变量的别名。因此,在程序中表示对象变量时,前者要通过取内容运算符*,而后者可以直接代表;
(2)指针是可变的,它可以忽而指向变量a,忽而指向b,而引用则只能在声明时一次初始化,不能在随后变成别的变量的引用;
(3)引用没有空间的概念。
函数参数的传递
1、值传递

2、地址传递

3、引用传递

按引用传送

内联函数

构造函数和析构函数
当一个对象定义时,C++语言自动调用该对象所属类的构造函数,建立该对象并对其进行初始化;
当一个对象生存期结束时,C++语言会调用该对象所属类的析构函数。
静态成员变量
当一个类定义多个对象时,所有对象的静态成员变量占用同一个内存空间。也就是说,静态成员变量对类的所有对象只有一份,不同的对象使用相同的成员变量。
应用静态数据成员实现数据的共享,使类的各个对象之间可以进行消息的传递。同时,静态数据成员不会破坏数据的封装性,有利于数据的安全通信。
静态成员变量的值是可以更新的,只要有一个对象对静态成员变量进行过更新操作,则静态成员变量的值就被更新了,以后所有对象存取的都是更新后的值。
友元

类的继承与派生
类与类之间的关系
1、关联关系
2、依赖关系
3、聚合关系 整体和部分的关系,如整体类和组成类
4、泛化关系 一般和特殊的关系


多态性
虚函数
重载
《C++程序设计教程——给予Visual Studio 2008》读书笔记1,2章的更多相关文章
- 《C++程序设计教程——给予Visual Studio 2008》读书笔记3章
CLR(Common Language Runtime,通用运行时),负责在执行时管理代码,提供内存管理和线程管理等核心服务,同时又确保代码的安全性和准确性.
- 4 Visual Effects 视觉效果 读书笔记 第四章
4 Visual Effects 视觉效果 读书笔记 第四章 Well, circles and ovals are good, but how about drawing r ...
- Visual Studio 2008常见问题
1.asp.net在什么软件上运行?学习asp往往需要测试asp程序,电脑不能直接测试,需要装IIS才能运行,但装IIS要么需要安装盘,要么需要安装包,而且设置也很复搜索杂.这里给大学推荐两个替代II ...
- 如何用Visual Studio 2008 写汇编程序?
如何用Visual Studio 2008写汇编程序? 最近在上夏季小学期,在学汇编语言,关于用什么编辑环境一直很纠结.很想找到一个比较好的IDE,但是试了几个像RadASM之类的,发现还不是很满意. ...
- 本周ASP.NET英文技术文章推荐[02/03 - 02/16]:MVC、Visual Studio 2008、安全性、性能、LINQ to JavaScript、jQuery...
摘要 继续坚持,继续推荐.本期共有9篇文章: 最新的ASP.NET MVC框架开发计划 Visual Studio 2008 Web开发相关的Hotfix发布 ASP.NET安全性教程系列 ASP.N ...
- [vs2008]Visual Studio 2008 SP1添加或删除功能提示查找SQLSysClrTypes.msi文件
前言 今天接到领导布置的一个任务,是之前同事负责的项目.离职了,现在客户有些地方需要修改,由于我之前参与过,就落在我的头上了. 然后我就把代码弄了过来,打开发现其中需要用到水晶报表.(我觉得不好用,不 ...
- Microsoft Visual Studio 2008 未能正确加载包“Visual Web Developer HTML Source Editor Package” | “Visual Studio HTM Editor Package”
在安装Microsoft Visual Studio 2008 后,如果Visual Studio 2008的语言版本与系统不一致时,比如:在Windows 7 English System 安装Vi ...
- Visual Studio 2008 Package Load Failure:未能正确加载包“Microsoft.VisualStudio.Xaml”
在安装好Visual Studio 2008后,启动Visual Studio 2008 发现如下提示: 包加载失败 未能正确加载包“Microsoft.VisualStudio.Xaml”( GUI ...
- 打开office word excel弹出visual studio 2008
打开office word 或者excel或者ppt等文档就会弹出visual studio 2008正在配置对话框. 按照我下面的步骤,解决方法非常简单. 如果你的电脑是win7操作系统,从第一步开 ...
随机推荐
- Jenkins管理静态资源
这里我们的前端是使用webpack来管理静态资源的,把静态资源上传到svn上面来管理 这里我们把项目和静态资源剥离开来,然后静态资源接入CDN 我们的svn的结构是这样的 我们需要把这些目录都进行打包 ...
- navicat cannot create oci 解决
1.新建连接 2.连接时候报错 3.解决 3.1.选择对应版本OCI 3.1.配置OCI[工具->选项...]
- 自动化运维工具SaltStack详细部署
==========================================================================================一.基础介绍==== ...
- DataTable 导入到Excel的最佳选择Npoi
今天项目需要,自己先写了个,但老是觉得不完美.百度搜索了一下,现在网上主要流传2大插件,1是myxls,2是Npoi,听说后者主要是中国牛人的杰作,而且非常的强大,所以我就来试用下. 只是试用下,具体 ...
- 【Android】OAuth验证和新浪微博的oauth实现
关于OAuth验证 OAuth是当下流行的授权方案,twitter,facebook,google等大型网站的开放平台都支持了oauth验证模式,国内的新浪微博.腾讯微博.163微博的开放平台也相继支 ...
- java阻塞队列与非阻塞队列
在并发编程中,有时候需要使用线程安全的队列.如果要实现一个线程安全的队列有两种方式:一种是使用阻塞算法,另一种是使用非阻塞算法. //使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入 ...
- 什么是内存溢出以及java中内存泄漏5种情况的总结
内存泄漏定义(memory leak):一个不再被程序使用的对象或变量还在内存中占有存储空间. 一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出.内存溢出 out of memory ...
- 【Linux】svn添加用户
1. 找到svn安装路径 /svn/repositories/ (如果不知道,可以搜索 :find / -name svn或者是ps -ef | grep svn) 2.进入该目录的conf,其中包 ...
- MDK 的编译过程及文件类型全解
MDK 的编译过程及文件类型全解 ------(在arm9的开发中,这些东西都是我们自己搞定的,但是在windows上,IDE帮我们做好了,了解这些对深入开发是很有帮助的,在有arm9开发的基础上,下 ...
- linux磁盘 分区 物理卷 卷组 逻辑卷 文件系统加载点操作案例
转自:truemylife.linux磁盘 分区 物理卷 卷组 逻辑卷 文件系统加载点操作案例 基本概念: 磁盘.分区.物理卷[物理部分] 卷组[中间部分] 逻辑卷.文件系统[虚拟化后可控制部分] 磁 ...