C++中定义函数参数的时候可以不指定参数名,比如可以这么写
void f(int x,int,int b=3);
或者
void f(int x,int=0,int b=3);
在这个函数中,x和b都可以被引用,但是中间那个参数是用不了的。查阅了一下资料,在*Thingking in C++*中这么解释:
这种语法允许你给函数设置一个参数而不用使用它,作用是当你想要去修改函数定义的时候,可以不用再去一个个修改所有调用该函数的地方(就比如原来中间这个参数在方法中是被使用的,但后来不用了)。当然你会说为什么不可以直接在方法中删除所有使用该参数的地方呢?原因是这样的话编译器就会报警告,说函数定义中定义了该参数但是却没有使用它。
所以个人理解该语法的作用就是为了避免删除方法参数时编译器给警告。
参考:
https://www.linuxtopia.org/online_books/programming_books/thinking_in_c++/Chapter07_007.html