"In class member initialization"功能是否已制作成 C++11?
Has "In class member initialization" feature made into C++11?
类内初始化功能,允许初始化类内部的正常成员,
struct A {
int a = 0; // error: ISO C++ forbids in-class initialization of non-const static member ‘a’
};
这在最新的编译器gcc-4.6(带有-std=c++0x
)中给出了错误。这个特性是否已被纳入C++11标准,或者gcc仍然不支持它?
是的,这在C++0x中是合法的。N3290§12.6.2/8中有一个例子:
struct C {
/* ... */
int j = 5; // OK: j has the value 5
};
相关文章:
- C 11是否保证将移动垂死的对象而不是复制为参数
- C++11 是否保证 return 语句中的局部变量将被移动而不是复制?
- 标准C++11是否保证std::async(std::launch::asyncfunc)在单独的线程中启动func
- C++11是否更改了STL容器元素的要求,以及如何更改
- C++11是否允许(不要求)volatile关键字的发布/获取语义
- C++11:是否有理由为什么某些常规类型不应该专门使用“std::hash”
- C++11是否允许引用一个匿名的临时文件
- C++11是否保证余数的符号就是被除数的符号
- 将C++方言更改为C++11,但在XCode4上保持标准库非C++11是否存在风险
- C++11 是否重新初始化初始化的成员字段
- c++11 是否提供与 python maketrans/translate 中实现的解决方案类似的解决方案?
- C++11 是否强制 pow(double, int) 使用较慢的 pow(double, double)
- D3D 11 是否向后兼容 D3D10 和 D3D9
- C++11 是否支持 C11 的新功能?
- C++11是否允许在标识符中使用美元符号
- C++11 : 是否可以将固定模板参数化模板提供给变量模板模板参数
- C++11是否要求将此lambda声明为可变的
- -std=c++11是否适用于使用gcc 4.8.1的生产代码
- C++11是否引入了一种不区分大小写的字符串比较算法
- 标准 C++11 是否保证"易失性原子<T>"同时具有语义(易失性 + 原子)?