草庐IT

nodiscard

全部标签

c++ - 为什么 C++20 中的 std::move 不是 [[nodiscard]]?

我最近阅读了C++17中的[[nodiscard]],据我了解,这是一项新功能(按契约(Contract)设计?),它迫使您使用return值(value)。这对于像std::launder(从C++20开始没有丢弃)这样的有争议的函数是有意义的,但我想知道为什么std::move在C中没有像这样定义++17/20。你知道一个很好的理由还是因为C++20还没有最终确定? 最佳答案 自VS201715.6以来,MSVC标准库团队继续添加了数千个[[nodiscard]]实例,并报告说它取得了巨大的成功(在发现大量错误和不会产生用户投诉
12