C++11提供了新的数据初始化的方法——直接初始化和拷贝列表初始化。
1.直接初始化:
int a{};//定义一个int型变量,初始化默认值为0
int a{10};//定义一个int型变量,并初始化为10
int a{1.1};//直接初始化不允许窄化(即:不允许{}内的内容精度高于定义类型)。{}内的内容为1.1,精度高于int,存在窄化现象,编译器会报错
char s{"hello"};
int array1[]{ 1,2,3 };
char s1[ 3 ] { 'o', 'k' };
2.拷贝列表初始化
//拷贝列表初始化
/* Variable initialization */
int z = { 2 };
/* Array initialization */
int array2[] = { 4,5,6 };
char s2[] = { 'y','e','s' };
char s4[] = { "World" };
char s5[] = "Aloha"; // Omit curly braces (省略花括号)