1. 数组
1.与vector相比,数组的显著缺陷在于:数组的长度是固定的,而且程序员无法知道一个给定数组的长度。
2.与vector不同,一个数组不能用另外一个数组初始化,也不能将一个数组复制给另一个数组,这些操作都是非法的。
C++中求数组int a[size]中元素个数可以用sizeof(a)/sizeof(int)
2.指针
1.尽量避免使用指针和数组
2.指针和引用的区别:
第一:引用总是指向某个对象,定义引用时没有初始化是错误的;
第二:赋值行为的差异:给引用赋值修改的是该引用所关联的对象的值,而并不是使引用与另一个对象关联,引用一经初始化,就始终指向同一个特定对象。
3.const指针必须在定义时初始化。
3.动态数组
1.C语言使用malloc和free在*存储器中分配存储空间,C++使用new和delete实现同样的功能。
int*p = new int[10];
delete []p;
2.调用new动态创建长度为0的数组是合法的。