【3】C++2.0(C++11/14)统一初始化(Uniform Initialization) | 您所在的位置:网站首页 › 从double转换到float需要收缩转换 › 【3】C++2.0(C++11/14)统一初始化(Uniform Initialization) |
C++11引入了统一初始化的概念,我们可以使用大括号“{}”这种通用的语法在任何需要初始化的地方。 在C++11前用多种方式进行初始化,如下面例子 int i(0); int j = 1; int arr[3] = { 1, 2, 3 }; 在C++11后我们可以使用通用的初始化方式,大括号{}: 1.初始化 int i1; // i1是未定义的值 int j1{}; // j1的初值是0 int *p; // p是未初始化的指针,指向未知 int *q{}; // q初始化为nullptr 2.设置初值 int ii{ 0 }; int jj{ 1 }; int arrkk[3]{ 1, 2, 3 }; 3. 严格的类型转换(vs2013) int x1(5.1); // warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据 int x2 = 5.2; // warning C4244: “初始化”: 从“double”转换到“int” |
CopyRight 2018-2019 实验室设备网 版权所有 |