[000]数组的那些小事

数组很简单,但是还是有很多注意点。

1.数组和容器(vector)的区别

-两者都是基本的低级复合类型

-只有在强调速度时才用数组和指针

-数组长度是固定的,但是容器可以通过push_Back在其中自动添加元素

2.数组定义和初始化

-非const变量以及要到运行阶段才知道的const变量都不能用于定义数组的维数

-在函数体外定义的内置数组,元素均被初始化为0

-在函数体内定义的内置数组,元素无初始化

-如果数组元素为类类型,则自动调用该类的默认构造函数进行初始化,如果没有默认的构造函数,则必须为该数组元素提供显式初始化

-字符串字面值包含一个额外的空字符用于结束字符串,例:

char ca[] = "C++".  ca的长度为4.

-一些编译器允许将数组赋值作为编译器扩展,应该注意不同编译器下数组赋值的可能差别

原文地址:https://www.cnblogs.com/hustcser/p/3602851.html