Srv*_*v19 3 c++ qt static initialization c++14
我有没有复制构造函数或赋值运算符的类.我需要创建并初始化该类的实例.我怎么做?
代码有问题(例子):
class Q
{
int w;
public:
Q():w(19){};
Q(const Q&) = delete;
Q& operator = (const Q&) = delete;
static Q sQ;
};
Q Q::sQ = Q();
Run Code Online (Sandbox Code Playgroud)
用例:我有一个派生自的类,QObject因此删除了赋值运算符和复制构造函数.应该有一个类的静态实例,如何实现?
您可以使用统一初始化语法,并使用一组空花括号构造类
Q Q::sQ{};
Run Code Online (Sandbox Code Playgroud)
或者你甚至可以放下花括号,如:
Q Q::sQ;
Run Code Online (Sandbox Code Playgroud)
两者都将默认构造sQ.