小编Fin*_*inn的帖子

移动语义与常量引用

我的类有字符串变量,我想用传递给构造函数的值来初始化它们。

我的老师认为我们将字符串作为常量引用传递:

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++ 中这样做的正确方法是什么。

我已经环顾四周,但没有什么能真正回答我的问题。提前致谢!

c++ string reference move-semantics

5
推荐指数
1
解决办法
538
查看次数

如何在 UML 类图中绘制 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班级角落的一个正方形中。但是概念呢?

c++ uml class-diagram c++-concepts

5
推荐指数
1
解决办法
145
查看次数