一直记不住,特意总结下
C++11引入了初始化列表(initializer list)的特性.
如果只是使用new来构造。
int* arr = new int[10];
则元素是随机值。并未被初始化。
想要初始化,得这么写:
int* arr = new int[10]{};
或者使用小括号:
int* arr = new int[10]();
这样就会将所有元素初始化为0。
另外,也可以使用以下语法进行全部初始化:
int* arr = new int[10]{5, 5, 5, 5, 5, 5, 5, 5, 5, 5};
这样就会将所有元素初始化为5。
或者这么写:
int* arr = new int[10]{5, 4, 3};
这样就会将前3个元素初始化为5, 4, 3。但是后面的元素都是0。