> 文章列表 > [c++17新增语言特性] --- [[nodiscard]]和[[maybe_unused]]

[c++17新增语言特性] --- [[nodiscard]]和[[maybe_unused]]

[c++17新增语言特性] --- [[nodiscard]]和[[maybe_unused]]

1 [[nodiscard]] 介绍和应用示例

[[nodiscard]] 是C++17引入的一个属性(Attribute),它用于向编译器提示一个函数返回值应该被检查,避免其被忽略或误用。它可以被用于函数、结构体、类、枚举和 typedef 等声明上,表示如果函数返回值未被使用,或者结构体、类、枚举和 typedef 类型变量被定义却没有被使用,则产生警告。

以下是一个简单的[[nodiscard]]示例:

#include <iostream>[[nodiscard]] int foo() {return 42