发出“未引用的形式参数”警告的原因是什么?在an existing SO post中,这个警告被解释为有助于引起程序员对函数的注意(如果他忘了用参数做一些操作),并且对代码维护也很有用(向未来的开发人员发出信号)参数未被省略,但故意遗漏)。除了样式问题,为什么程序员想要警告未使用的参数?是否复制了这些参数,如果按值传递?
void myFunction(int param) {
}
答案 0 :(得分:3)
为了防止可能的干扰(忘记使用参数)并争取更易于维护的代码是足够的原因。
复制的未使用参数的可能性能损失是另一个原因,但不是主要原因。
答案 1 :(得分:1)
虽然没有指定,但我敢打赌,在函数定义中省略参数名称不会改变任何二进制代码。
仅具有可用功能声明的编译单元将不知道是否复制参数。其他编译单元可以对函数调用应用常规优化,任何值为salt的优化器都会在函数开始时发现该参数是死的。
因此,我不担心这里的表现。纯粹的原因是可读性。