C++ &;类型后面的函数参数中

C++ &;类型后面的函数参数中,c++,function,parameters,reference,C++,Function,Parameters,Reference,在课堂上,我们有: friend Circle copy(const Circle &); 我知道,通常通过引用传递某些内容时,会使用变量名之前的名称,但在本例中,没有变量名……这到底是什么?这是一个函数声明;在这些文件中不需要参数名,只需要在其定义中。在其他地方,会有类似的情况 friend copy(const Circle& other) { // method implementation } 这是友元函数的声明。通常,在声明函数时,不需要在其参数列表中命名变量。

在课堂上,我们有:

friend Circle copy(const Circle &);

我知道,通常通过引用传递某些内容时,会使用变量名之前的名称,但在本例中,没有变量名……这到底是什么?

这是一个函数声明;在这些文件中不需要参数名,只需要在其定义中。在其他地方,会有类似的情况

friend copy(const Circle& other) {
  // method implementation
}

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


对于C++中的“朋友”意味着什么,我将让您在网上查找。在函数声明中提到的< /p> 不需要参数名。
friend Circle copy(const Circle &);
其中,函数定义中的参数名称是必需的

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

}
FWIW您也不必在定义中命名参数。如果不访问它们,您就无法访问它们,因此只有当它们因某种原因未使用时,才可以省略名称。您的意思是
Circle copy(const Circle&other)
,对吗?这是一个朋友函数,所以它不是一个成员。