例如之前,如果一個方法被定義爲以下:什麼「&」用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