"In class member initialization"功能是否已制作成 C++11?

Has "In class member initialization" feature made into C++11?

本文关键字:C++11 是否 In class member initialization 功能      更新时间:2023-10-16

类内初始化功能,允许初始化类内部的正常成员,

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
};