我刚看到一个人在研究他的代码片段时做了这个:
void doSomething(int param) {
// stuffs
param; // <-- what does this statement do?
// stuffs
}
Run Code Online (Sandbox Code Playgroud)
我尝试在互联网上寻找它,并向我的大多数朋友询问它,但这个对他们来说也很陌生.那么伙计们,这个陈述到底有什么用呢?
它可以用于删除有关未使用参数的警告.但从逻辑上讲它什么都不做.有更好的方法可以删除有关未使用参数的警告.使用宏:
UNREFERENCED_PARAMETER( param );
Run Code Online (Sandbox Code Playgroud)
或者从函数中删除参数的名称:
void doSomething(int /*param*/) { ...
Run Code Online (Sandbox Code Playgroud)
我更喜欢后者,因为这意味着param绝对不会使用.我已经看到了UNREFERENCED_PARAMETER被指定的实例,然后在代码中实际使用了该参数.