方法声明之前的'&'在C ++中意味着什么
What does '&' mean in C++ when it comes before a method declaration
例如,如果一个方法定义如下:
ILDCRTParams &GetParams() const;
这有什么不同吗:
ILDCRTParams& GetParams() const;
我正在使用 C++ 11。
他们完全一样。 return 类型是 ILDCRTParams&
不,它们的意思完全一样。 C++ 是一种基于标记的语言,其中空格在标记之间无关紧要,只是用作分隔符。你可以写成
ILDCRTParams &GetParams() const;
ILDCRTParams& GetParams() const;
ILDCRTParams&GetParams() const;
ILDCRTParams & GetParams() const;
甚至
ILDCRTParams &GetParams( )const;
意思不变。
在语义上,&
有效地修饰了 ILDCRTParams
,但在句法上,它修饰了 GetParams()
:&GetParams()
指定 GetParams()
returns参考。出于这个原因,有些人更喜欢将它紧挨着 ILDCRTParams
放置,但其他人更喜欢紧挨着 GetParams()
.
例如,如果一个方法定义如下:
ILDCRTParams &GetParams() const;
这有什么不同吗:
ILDCRTParams& GetParams() const;
我正在使用 C++ 11。
他们完全一样。 return 类型是 ILDCRTParams&
不,它们的意思完全一样。 C++ 是一种基于标记的语言,其中空格在标记之间无关紧要,只是用作分隔符。你可以写成
ILDCRTParams &GetParams() const;
ILDCRTParams& GetParams() const;
ILDCRTParams&GetParams() const;
ILDCRTParams & GetParams() const;
甚至
ILDCRTParams &GetParams( )const;
意思不变。
在语义上,&
有效地修饰了 ILDCRTParams
,但在句法上,它修饰了 GetParams()
:&GetParams()
指定 GetParams()
returns参考。出于这个原因,有些人更喜欢将它紧挨着 ILDCRTParams
放置,但其他人更喜欢紧挨着 GetParams()
.