【发布时间】:2017-12-24 17:39:42
【问题描述】:
我需要非 C++17 代码库中 [[nodiscard]] 属性的语义。我想在 C++17 之前有一些依赖于编译器的方法来实现这一点。有人知道这些吗?我对 clang、gcc 和 MSVC 感兴趣。
【问题讨论】:
-
什么语义? nodiscard 所做的只是说“嘿,如果这个返回值被丢弃,你可能应该发出警告”。
-
@Cubic:正是这个!
-
编译器文档是个不错的选择。
-
GCC 可以使用
__attribute__((warn_unused_result))。