&in 函数参数后键入

& in function parameter after type

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

在一个类中,我们有:

friend Circle copy(const Circle &);

我知道通常通过引用传递一些东西你会使用&在变量名之前,但在本例中没有变量名.....这到底是什么?

这是友元函数的声明。通常,在声明函数时,不需要在其参数列表中命名变量。大多数人通常会给它们命名,但有时很明显,它们就被省略了。它不会改变任何东西——声明中的变量名仅仅是文档——重要的是定义中的名称(并且可以合法地与声明中的名称不同)。

至于"朋友"在c++中的意思,我让你上网去查。

这是一个函数声明;你不需要这些参数名,只需要它的定义。在其他地方,会有像

这样的内容
friend copy(const Circle& other) {
  // method implementation
}

在函数声明中没有必要提及参数名。

friend Circle copy(const Circle &);

在函数定义中需要参数名的地方

friend Circle copy(const Circle &rhs)
{
.....
}