CppCoreGuidelines F.9 不用给没有用到的参数命名
22 April 2022
F.9: Unused parameters should be unnamed
理由
更好的可读性。免除“参数未被使用”的警告。
例子
// once upon a time, a hint was used X* find(map<Blob>& m, const string& s, Hint);
例子
void print_params(const int i, const string& s, double) { cout << i << " " << s << endl; } int main() { print_params(10, "hello", 1.1); return 0; }
10 hello
注意
允许不命名没使用的参数是在 1980 年代早期引入标准的。为的是解决接口兼容性问题。
但是,如果函数在某些条件下才会用到某个参数的话,可以把这个参数声明成
[[maybe_unused]]
属性。
template <typename Value> Value* find(const set<Value>& s, const Value& v, [[maybe_unused]] Hint h) { if constexpr (sizeof(Value) > CacheSize) { // a hint is used only if Value is of a certain size } }
强化
- 标记出有名称但是没有用到的参数