gpt4 book ai didi

c++ - 为什么 C++ 允许未命名的函数参数?

转载 作者:IT老高 更新时间:2023-10-28 12:47:07 25 4
gpt4 key购买 nike

以下是完全合法的C++代码

void foo (int) {
cout << "Yo!" << endl;
}

int main (int argc, char const *argv[]) {
foo(5);
return 0;
}

我想知道,考虑到无法从函数内引用它们,是否存在将未命名参数留在函数中的值。

为什么这是合法的开始?

最佳答案

是的,这是合法的。这对于在不打算使用相应参数的实现中实现基类中的虚函数很有用:您必须声明该参数以匹配基类中虚函数的签名,但您不打算使用它,所以你不用指定名字。

另一种常见的情况是当您向某个库提供回调时,您必须遵守该库已建立的签名(感谢 Aasmund Eldhuset 提出这一点)。

defining your own post-increment and post-decrement operators 还有一个特殊情况。 :它们必须具有带有 int 参数的签名,但该参数始终未使用。不过,这种约定在语言设计上几乎是一种黑客行为。

关于c++ - 为什么 C++ 允许未命名的函数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12186698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com