使用C++11,出现了一种新的变量初始化和声明方式。
int c_derived = 0;
C++11
int modern{0};
每种方法的优缺点是什么?为什么要实现新的方法?编译器是否有不同的操作?
int c_derived = 0;
C++11
int modern{0};
每种方法的优缺点是什么?为什么要实现新的方法?编译器是否有不同的操作?
int modern(0)
形式(使用圆括号)在旧版本的C++中可用,并且在C++11中仍然可用。int modern{0};
struct A
{
int a; int b;
};
A a = { 1, 2 };
使用大括号只是为了在C++11中引入通用初始化。
现在可以使用大括号来初始化数组、变量、字符串和向量。
int modern{0};
。 - mpark