C ++中是否有一个方便的构造函数?

时间:2017-02-08 13:39:39

标签: c++ constructor this rvalue constructor-overloading

重载的构造函数是否有可能以某种方式调用类中的另一个构造函数,类似于下面的代码?

USER_CONNECT

上面的代码可行,但我担心在构造函数中调用它可能会导致未定义的行为。

如果确实如此,请解释原因并提出更好的选择?

1 个答案:

答案 0 :(得分:27)

C ++ 11引入了delegating constructors

class A
    {
    public:
    std::string m_str;
    A(std::string str) : m_str(str) {} // target constructor
    A(int i) : A(std::to_string(i)) {} // delegating constructor
    };