Cas*_*des 5 c++ gcc warnings visual-c++
这个问题有两个方面,一个比另一个更普遍。具体问题是;MSVC 是否有等效的警告-Wredundant-move?更一般地说,网上是否有任何地方(即使是某人的博客)在 GCC 和 MSVC 警告之间有合理的映射?
我知道警告没有任何要求在跨平台上相似,甚至根本不存在 - 这就是为什么我有兴趣找出是否存在任何合理的相关性?
对于一点背景知识,我希望-Werror在跨平台项目上启用特定的 s,并且希望每个平台都处理大致相同的警告,而不是依赖用户手动检查两个平台。
具体问题是;MSVC 是否有等效的警告
-Wredundant-move?
据我所知,不,MSVC 没有。
如果 gcc 和 MSVC 警告之间存在良好的映射,这隐式地回答了更普遍的问题。
但是 - 对于您询问的特定类型的警告,未来看起来很有希望:
正在审查 - 悲观的移动编译器警告:
“LLVM 支持悲观移动编译器警告。在 C++17 及更高版本中,在临时对象上调用 std::move() 时会触发此警告,这会导致临时对象上不会发生复制省略。这似乎是一个高价值警告, Clang++ 和 GCC 支持,但 MSVC 不支持。”