关闭括号前的&符号在C ++函数声明中做了什么?

时间:2015-03-25 10:32:54

标签: c++ reference ampersand function-declaration

找到这个例子并想知道结束括号之前的&是什么?

void f(const Foo &)
{
    std::cout << "f(const Foo&)\n";
}

取自here

的示例

非常感谢帮助。

3 个答案:

答案 0 :(得分:2)

它是对Foo类型的引用。你应该给自己写一本C ++书并阅读它。

http://en.wikipedia.org/wiki/Reference_%28C%2B%2B%29

答案 1 :(得分:2)

在C ++中,如果不使用参数,则不必为其命名。某些编译器设置甚至会在您为其命名时生成警告。未命名参数仅由类型组成,类型也可以是指针或引用或它们的组合。在这种情况下(如已经回答),类型是参考。

未使用的参数通常是无用的,应该避免使用,但它们可以存在于虚拟函数中,其中某些实现需要它们而其他实现不需要。

答案 2 :(得分:1)

简单来说,&表示它是一个参考。

所以当你使用&amp;函数声明中的运算符,前面有一个类型(这里是Foo ),它意味着“引用”,它本质上是一个带有禁用指针算法的自动解引用指针。

另请查看此reference了解详情