例如之前,如果一个方法被定义为以下:什么“&”用C意味着++,当涉及一个方法声明
ILDCRTParams &GetParams() const;
这是任何然后不同:
ILDCRTParams& GetParams() const;
我正在使用C++ 11.
例如之前,如果一个方法被定义为以下:什么“&”用C意味着++,当涉及一个方法声明
ILDCRTParams &GetParams() const;
这是任何然后不同:
ILDCRTParams& GetParams() const;
我正在使用C++ 11.
它们完全一样。退货类型为ILDCRTParams&
不,他们的意思完全一样。 C++是一种基于标记的语言,除了充当分隔符之外,空格在标记之间不重要。你可以把它写成
ILDCRTParams &GetParams() const;
ILDCRTParams& GetParams() const;
ILDCRTParams&GetParams() const;
ILDCRTParams & GetParams() const;
甚至
ILDCRTParams &GetParams( )const;
没有意义的任何变化。
语义上&
有效地改变ILDCRTParams
,但是从语法,它修改GetParams()
:&GetParams()
指定GetParams()
返回一个参考。出于这个原因,有些人更喜欢把它放在ILDCRTParams
旁边,而其他人则在GetParams()
旁边。
事实上,你甚至可以编写'ILDCRTParams/* *// * *让我们来看看是否有人仍然理解这个代码*/GetParams/*是的,没错。 * /(/ *没有在这里看到,移动* /)/ *是的,多一个评论;评论使代码可读,不是吗? */const;':-) – celtschk
好的,谢谢! – hadis