您的位置:首页 > 编程语言 > C语言/C++

【重学《C++Primer第四版》】第四章、数组和指针

2015-04-02 16:21 295 查看
由于在C++中经常使用数组和指针,在此就不多说了。

Details of knowledge

1.在使用下标访问元素时,vector使用vector::size_type作为下标的类型,而数组下标的正确类型是size_t,所以遍历数组的正确方式为:

const size_t array_size=10;

int a[array_size];

for(size_t i=0;i!=array_size;i++)

a[i]=i;

2.尽力避免使用指针和数组,避免使用未初始化的指针。

3.声明指针时的风格:将符号*紧贴着指针变量名放置

int *a=0;

4.cstdlib头文件中定义了预处理变量NULL,其值为0。

5.使用标准库类型string,除了增强安全性外,效率也提高了,因此尽量避免使用C风格字符串。

6.在自由存储区(堆)中分配存储空间

C:用malloc和free。
C++:new和delete,delete [] data;

Concrete Explanation

1.字符串字面值包含一个额外的空字符(NULL)用来结束自字符串。当使用字符串字面值来初始化创建的新数组时,将在新数组中加入空字符。

char cal[6]="Daniel"
//error:Daniel is 7 elements

char cal[7]="Daniel"
//这个语句是对的

为了避免出现这种问题,最好不要写数组的长度。

char cal[]="Daniel";
//这个语句是对的

Summary

用vector代替数组,用string代替C风格字符串,现代C++程序中不应该使用C风格字符串。只有在某些低级任务必须使用指针和数组。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: