问题描述
我有一个获取“配置”结构的函数,目前它只是一个包含数组的结构
class ShmConfig {
public:
std::int64_t shellShmSize[ShellId_Count];
};
我用 std::move
将它传递给函数中的另一个函数,因为我希望复制它的所有代码位置都与它可以有效复制的事实无关。
m_allocator.setup(std::move(config));
如果稍后可以更有效地移动它(可能是因为我添加了 std::string
),它会自动变得更高效。但是clang-tidy
建议不要这样做
std::move
变量 'config
' 的普通可复制类型 'ShmConfig
' 无效;删除std::move()
我不明白为什么这是可取的。用 move
包装它有什么缺点吗?是否只有在定期运行 clang-tidy 时才能遵循这些建议,以便在稍后添加数据成员时发现 std::move
有意义的情况?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)