performance-move-const-arg

该检查会发出警告

在这三种情况下,该检查将建议一个修复方案,即删除 std::move()

以下是三种情况的示例

const string s;
return std::move(s);  // Warning: std::move of the const variable has no effect

int x;
return std::move(x);  // Warning: std::move of the variable of a trivially-copyable type has no effect

void f(const string &s);
string s;
f(std::move(s));  // Warning: passing result of std::move as a const reference argument; no move will actually happen

选项

CheckTriviallyCopyableMove

如果为 true,则启用对没有移动构造函数的平凡可复制类型进行检测。默认值为 true

CheckMoveToConstRef

如果为 true,则启用对作为常量引用参数传递的 std::move() 进行检测。默认值为 true