Can C++';类变量是否可以像Java中那样在没有构造函数的情况下初始化?
在Java中,我可以创建一个类并在没有构造函数的情况下初始化变量:Can C++';类变量是否可以像Java中那样在没有构造函数的情况下初始化?,java,c++,constructor,Java,C++,Constructor,在Java中,我可以创建一个类并在没有构造函数的情况下初始化变量: public class Foo { private int x = 1; public getx() { return x; } } 但是在C++中,要完成同样的事情,我唯一知道如何做到这一点的方法是: class Foo { private: int x; public: Foo() { x = 1; } getx() { re
public class Foo {
private int x = 1;
public getx() {
return x;
}
}
但是在C++中,要完成同样的事情,我唯一知道如何做到这一点的方法是:
class Foo
{
private:
int x;
public:
Foo()
{
x = 1;
}
getx()
{
return x;
}
};
由于C++11,您可以这样做。换言之,这种方法非常有效:
class Foo
{
int x = 1;
public:
int getX() { return x;}
};
你试过了吗?GCC和MSVC的较新版本将接受
intx=1默认情况下,代码>和Clang显式调用打开C++11支持。