在 C++17 之前指定 [[nodiscard]] 的方法
Ways to specify [[nodiscard]] before C++17
我需要非 C++17 代码库中 [[nodiscard]]
属性的语义。我想在 C++17 之前有依赖于编译器的方法可以实现这一点。有谁知道这些?我对 clang、gcc 和 MSVC 感兴趣。
- GCC/Clang:
__attribute__((warn_unused_result))
- MSVC:
_Check_return_
_MSC_VER >= 1700
(Visual Studio 2012)
我需要非 C++17 代码库中 [[nodiscard]]
属性的语义。我想在 C++17 之前有依赖于编译器的方法可以实现这一点。有谁知道这些?我对 clang、gcc 和 MSVC 感兴趣。
- GCC/Clang:
__attribute__((warn_unused_result))
- MSVC:
_Check_return_
_MSC_VER >= 1700
(Visual Studio 2012)