首頁 > 後端開發 > C++ > 函數參數中的 Const 引用:「const T&」還是「T const&」?

函數參數中的 Const 引用:「const T&」還是「T const&」?

Susan Sarandon
發布: 2024-11-20 17:03:15
原創
542 人瀏覽過

Const References in Function Arguments: `const T&` or `T const&`?

函數參數中的常數參考:型別說明符之前還是之後?

在 C 中,函數參數中常數引用的放置可能會造成問題。考慮以下兩個程式碼片段:

int foo1(const Fred &arg) {
...
}
登入後複製
int foo2(Fred const &arg) {
...
}
登入後複製

從語義上講,這兩個參數之間沒有區別。該語言將它們視為相同類型,都引用 Fred 類型的物件的常數引用。

風格注意事項:

但是,當涉及到風格時,不同程式設計師的首選用法有所不同。

  • const T&:這是 Stroustrup 的《C 程式語言》以及 C 標準本身所使用的樣式。
  • T const&:這種樣式不太常用,但可能會被一些人首選,因為它與從右到左的解析規則保持一致,被認為是C 中的良好實踐。

從右到左解析:

根據從右到左解析規則,限定符(例如 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板