如何使用构造函数委托在 C++ 中使用命名构造函数?
How do I use named constructors in C++ using constructor delegates?
假设我有一个构造函数和一个委托构造函数
SomeClass(const std::string&& _name) : obj_needs_construction(100), name(_name) {}
SomeClass(const std::string& _name) : SomeClass(_name) {}
但两者都使用相同的类型,我见过很多解决方案,但它们似乎都可以运行,因为它们制造了不同的类型,但在我的情况下不起作用。我该如何解决?
谢谢。
SomeClass(const std::string& _name) : SomeClass(std::move(_name)) {}
替换
SomeClass(const std::string&& _name) : obj_needs_construction(100), name(_name) {}
SomeClass(const std::string& _name) : SomeClass(_name) {}
…只有
SomeClass( std::string const& name )
: obj_needs_construction( 100 )
, name_( name )
{}
就是这样。它将作为实际参数很好地用于临时变量。
假设我有一个构造函数和一个委托构造函数
SomeClass(const std::string&& _name) : obj_needs_construction(100), name(_name) {}
SomeClass(const std::string& _name) : SomeClass(_name) {}
但两者都使用相同的类型,我见过很多解决方案,但它们似乎都可以运行,因为它们制造了不同的类型,但在我的情况下不起作用。我该如何解决?
谢谢。
SomeClass(const std::string& _name) : SomeClass(std::move(_name)) {}
替换
SomeClass(const std::string&& _name) : obj_needs_construction(100), name(_name) {}
SomeClass(const std::string& _name) : SomeClass(_name) {}
…只有
SomeClass( std::string const& name )
: obj_needs_construction( 100 )
, name_( name )
{}
就是这样。它将作为实际参数很好地用于临时变量。