删除函数定义中未使用的参数名称(编码标准)
Delete unused argument names in function definition(coding standards).
Herb Suttter c++编码标准说,删除函数中不使用的参数名是编写零警告程序的好做法。
的例子:
int increment(int number, int power=0){
return number++;
}
应该
int increment(int number, int /*power*/=0){
return number++;
}
如果power
参数有"未使用变量警告"。这可以很好地用于程序(没有编译错误),所以新的函数定义将是
int increment(int number, int =0)
那么int=0
对编译器意味着什么?
未命名的形式参数,默认值为0。
第一种情况(最流行)是function-declaration
中的用法,类似于
int increment(int, int = 0);
和定义参数将被命名。
int increment(int number, int power)
{
//
}
第二种情况是用于调试目的,或者用于一些尚未实现的功能,或者用于虚拟函数。
如果这是一个独立的函数,当然,您可以更改方法的签名,注释掉最后一个参数
int increment(int number/*, int power=0*/);
但是,您可能希望在以下情况下保持方法的签名不变:
- 这是一个方法,它将覆盖在base中声明的方法类
- 是你不想要的模块公共接口的一部分改变
另外,当您在函数声明中使用未命名参数的默认值时,以及以后在cpp文件中您仍然为该变量命名时,它可能会很有用。
// Forward declaration
int increment(int number, int =0);
// Somewhere in cpp file:
int increment(int number, int power)
{
return pow(number, power);
}
相关文章:
- URL 编码扩展的 ASCII 标准::字符串在 C++.
- 一些编码约定/标准实践问题
- 在C 中对二进制对象进行编码/解码的标准方法
- 使用十六进制值对标准::字符串进行编码
- C标准:字符集和字符串编码规范
- C++ 编码标准 #define 头文件
- 为什么C/C++编码标准说我们不应该在函数中有多个返回
- 有没有像PSR-1/2那样的C++编码标准
- 将标准的Android H264软件编码器替换为基于ffmpeg的编码器
- 是否有任何工具可以重构C++以符合编码标准
- 联合攻击战斗机(JSF)的排名C++编码标准的强制性规则
- 事实上的标准 C++11 编码风格
- 用于比较指针到 NULL 的编码标准
- C++和C#的编码标准
- 标准::字符串字符编码
- 与c++编码标准相关的过早优化和过早悲观
- 通过输出参数返回结果,c++编码标准
- 删除函数定义中未使用的参数名称(编码标准)
- 你能推荐Todd Hoff的C++编码标准吗
- F-35飞行器C++编码标准AV规则6的澄清;文件.编号2RDU00001修订版C