如何在没有复制构造函数的情况下初始化类的静态实例>

时间:2016-05-25 19:16:17

标签: c++ qt static initialization c++14

我有没有复制构造函数或赋值运算符的类。我需要创建并初始化该类的实例。我该怎么做?

问题代码(示例):

pName

On ideone

用例:我有一个派生自class Q { int w; public: Q():w(19){}; Q(const Q&) = delete; Q& operator = (const Q&) = delete; static Q sQ; }; Q Q::sQ = Q(); 的类,因此删除了赋值运算符和复制构造函数。应该有一个类的静态实例,如何实现?

1 个答案:

答案 0 :(得分:5)

您可以使用uniform initialization syntax并使用一组空花括号构建类

Q Q::sQ{};

或者您甚至可以删除大括号,如:

Q Q::sQ;

两者都默认构造sQ