在 C 中,函數參數中常數引用的放置可能會造成問題。考慮以下兩個程式碼片段:
int foo1(const Fred &arg) { ... }
int foo2(Fred const &arg) { ... }
從語義上講,這兩個參數之間沒有區別。該語言將它們視為相同類型,都引用 Fred 類型的物件的常數引用。
風格注意事項:
但是,當涉及到風格時,不同程式設計師的首選用法有所不同。
從右到左解析:
根據從右到左解析規則,限定符(例如 const)應該應用於其左側的類型。這將支援 T const& 的使用。
但是,重要的是要注意 const T& 也可以從右到左有效地解析。它指示對類型 T 的常數值的參考。此外,T const* 的歧義性(可能被解釋為「指向 T 的指標常數」而不是「指向常數 T 的指標」)使得 const T& 成為更明確的選擇。
實用性:
在可讀性和通用用法方面,const T&/const T 比T const&/T const 獲得了顯著的發展勢頭。這可能是由於這些風格在 Stroustrup 的書籍和 C 標準等廣泛認可的來源中流行。遵守普遍接受的做法可以增強程式碼的可讀性。
以上是函數參數中的 Const 引用:「const T&」還是「T const&」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!