C++ Primer经典书目阅读之四:数组和指针


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的数组是合法的。

上一篇:1002答案杭电详解


下一篇:Spark多路径输出和二次排序