C++ 令人费解的C++;语法使用&&引用;

C++ 令人费解的C++;语法使用&&引用;,c++,C++,可能重复: 这是一个C++类声明片段,包含一个AMSPED,对我来说没有意义: class rimage : public matrix { public: rimage( void ); rimage( int, int ); rimage( rimage & ); rimage & operator=( const matrix & A ); rimage & operator=( const

可能重复:

这是一个C++类声明片段,包含一个AMSPED,对我来说没有意义:

class rimage : public matrix {  
public:  
    rimage( void );  
    rimage( int, int );  
    rimage( rimage & );  
    rimage & operator=( const matrix & A );  
    rimage & operator=( const rimage & A );  
    rimage & operator/=( int );  
...
什么是
笠美(笠美&)平均值?为什么
&
在末尾

这个片段来自一本关于PCNNs的教科书


这个类声明给了我编译问题,所以我需要解决这个问题。

它是对“笠美”对象的引用


它可能只是让您感到困惑,因为它在本声明中未命名。

它是对“笠美”对象的引用

这可能会让你感到困惑,因为它在这个声明中没有命名。

声明

rimage ( rimage & )
如果为参数指定一个名称,则可能更易于分析:

rimage ( rimage & A )
由此可以更清楚地看出,这定义了一个复制构造函数,它通过非
常量
引用引入另一个
笠美

更一般地说,当您将参数的名称保留在函数声明之外时,它们有时可能有点难以读取。例如,此函数

void DoSomething (int (int))
可能很难读取,但如果添加如下参数名称:

void DoSomething (int function(int))
现在您可以更清楚地看到,它是一个函数,它接受另一个函数作为参数

对于更难的事情,考虑一下

void DoSomething (int (&)[5])
通过一个参数,更容易看出这是什么:

void DoSomething (int (&array)[5])
这是一个函数,它接受对五个整数数组的引用

希望这有帮助

宣言

rimage ( rimage & )
如果为参数指定一个名称,则可能更易于分析:

rimage ( rimage & A )
由此可以更清楚地看出,这定义了一个复制构造函数,它通过非
常量
引用引入另一个
笠美

更一般地说,当您将参数的名称保留在函数声明之外时,它们有时可能有点难以读取。例如,此函数

void DoSomething (int (int))
可能很难读取,但如果添加如下参数名称:

void DoSomething (int function(int))
现在您可以更清楚地看到,它是一个函数,它接受另一个函数作为参数

对于更难的事情,考虑一下

void DoSomething (int (&)[5])
通过一个参数,更容易看出这是什么:

void DoSomething (int (&array)[5])
这是一个函数,它接受对五个整数数组的引用


希望这有帮助

这个
&
表示它是一个正在执行的参数。在这种情况下,
笠美(笠美&)
是a的声明。

&
表示它是正在处理的参数。在这种情况下,
笠美(笠美&)
是a的声明。

不确定将引用条目标记为重复是否公平。是的,这涵盖了所述的
&
,但呈现的代码的问题是,这会成为一个非常量副本构造函数。不确定将引用条目标记为重复是否公平。是的,这涵盖了前面提到的
&
,但是现在的代码的问题是,这会变成一个非常量复制构造函数。谢谢,伙计们!我在源代码的其他地方看到过类似的、更完整的语法。啊,使用他人编写的代码的陷阱。”这既是祝福也是诅咒。谢谢你们,伙计们!我在源代码的其他地方看到过类似的、更完整的语法。啊,使用他人编写的代码的陷阱。”这既是福也是祸。