Jea*_*Dax 2 c++ c++14 c++17
假设我有一个类,其中有一个带有一个参数的虚函数和该虚函数的两个不同实现。第一个实现使用该参数,而第二个实现则不使用该参数。第二种情况会产生编译警告。我可以想到两种方法来抑制警告。
[[maybe_unused]]
两者之间什么被认为是“最佳实践”?
预先感谢您的回答。
Sil*_*olo 9
我们拥有的 C++“最佳实践”最权威的来源是C++ 核心指南。关于未使用的参数,他们有这样的说法
F.9:未使用的参数应未命名 ... 如果有条件地不使用参数,请使用[[maybe_unused]]属性声明它们。
...
如果有条件地不使用参数,请使用[[maybe_unused]]属性声明它们。
因此,C++ 核心指南建议如果从未使用过参数,则不要命名该参数。[[maybe_unused]]根据此规则,仅应在某些情况下未使用该参数时应用,例如在#ifdef或(更现代的)内部if constexpr。
#ifdef
if constexpr
归档时间:
3 年,2 月 前
查看次数:
574 次
最近记录: