C++第四章数组和指针
时间:2010-07-28 来源:静止的流水
数组是由类型、标识符、维数组成的复合数据类型
现代C++提倡是由vector代替数组,只有当性能测试表名使用数组能获得必要的速度时才使用数组
数组维数只能用整形字面值常量、枚举常量、或用常量表达是初始化的整形const对象
在函数体外定义的内置数组,初始化为0
函数体内定义的内置数组,不初始化
内外定义的类数组,调用默认构造函数
字符数组初始化可以用单个字符,也可以用字符串字面值,但需要加上最后的空字符的长度
数组不能直接赋值和复制,必须新建一个数组,挨个数组元素复制
数组元素下表类型是size_t
程序员使用数组的时候,必须自己检查数组下表是否越界
指针和迭代器的不同是,指针指向单个对象,迭代器只能用于访问容器中的元素
取地址操作符只能用于左值
指针的值可以是0,空指针,或者是一个对象的地址,活一个对象后面的另一个对象地址
不允许使用void*操纵它所指向的对象
解引用操作符返回的是左值
与数组联合使用的指针就是迭代器
可以用数组名加上数组长度来做哨兵,表示超出数组的下一个位置,但不允许对他解引用
只要指针指向数组,就可以对他进行下标操作
指向const对象的指针const int *p;const指针int * const p;
可以给const对象的指针赋值为普通对象地址
但是不可以给普通指针赋值const对象的地址
Const指针有点类似于引用