函数中的注释参数

Commented parameter in function

本文关键字:参数 注释 函数      更新时间:2023-10-16

我正在 gnu 在线文档中的 streambuf 源代码中实现seekpos。我不明白为什么__mode在第ios_base::openmode /*__mode*/ = ios_base::in | ios_base::out行中被评论,为什么它不会引发错误。

virtual pos_type 
seekpos(pos_type, ios_base::openmode /*__mode*/ = ios_base::in | ios_base::out)
{
return pos_type(off_type(-1));
}

我可以理解评论的用法,如果它是以下格式:

void foo( pos_type, int /*blah*/ ){
...
}

但是,在前一种情况下,也有意将某些东西分配给__mode,因此我对那里没有出现任何错误感到惊讶。

这是允许的吗?如果是,那为什么?

首先,它不是一个赋值,它是一个默认参数。你可以让任何甚至所有参数都是匿名的。

如果函数内部未使用参数,则可以省略变量名称,只具有类型,甚至(如前所述(默认参数。参数变量名称是可选的。