我的类有字符串变量,我想用传递给构造函数的值来初始化它们。
我的老师认为我们将字符串作为常量引用传递:
MyClass::MyClass(const std::string &title){
this->title = title
}
Run Code Online (Sandbox Code Playgroud)
但是 Clang-Tidy 建议使用 move 命令:
MyClass::MyClass(std::string title){
this->title = std::move(title)
}
Run Code Online (Sandbox Code Playgroud)
所以我想知道在现代 C++ 中这样做的正确方法是什么。
我已经环顾四周,但没有什么能真正回答我的问题。提前致谢!
我将如何在 UML 类图中绘制 C++ 概念?
具体来说,我有以下代码:
template<typename T>
concept Printable = requires(T a, std::ostream &where) {
{ where << a };
};
template<typename T>
concept Identifiable = requires(T a) {
{ a.getId() } -> std::convertible_to<std::string>;
};
template<typename T>
concept Listable = Identifiable<T> && Printable<T>;
Run Code Online (Sandbox Code Playgroud)
然后是一个类:
template<Listable T>
class Liste {
...
void add(T *data);
...
}
Run Code Online (Sandbox Code Playgroud)
如果它是一个常规模板,我会把它放在T班级角落的一个正方形中。但是概念呢?