C++17 引入了 [[maybe_unused]]
属性,它允许我们告诉编译器可以接受未使用的变量。编译器不会为此类变量生成未使用的变量警告。
以下程序不应生成任何警告/错误:
#include<iostream>
int main()
{
[[maybe_unused]] double pi{ 3.14159 };
[[maybe_unused]] double gravity{ 9.8 };
[[maybe_unused]] double phi{ 1.61803 };
// assume some of the above are used here, some are not
return 0;
}
此外,编译器可能会在程序之外优化这些变量,因此它们不会影响性能。