首頁 >後端開發 >C++ >C 中註入類別名稱的目的和歷史是什麼?

C 中註入類別名稱的目的和歷史是什麼?

Linda Hamilton
Linda Hamilton原創
2024-12-16 07:16:11471瀏覽

What is the Purpose and History of Injected Class Names in C  ?

C 中的注入類別名稱:目的和歷史

C 有一個有趣的概念,稱為注入類別名稱。透過將類別名稱注入到自己的作用域中,語言可確保類別內的名稱查找始終找到當前類別,即使在同一封閉作用域中存在其他類似命名的類別也是如此。

此功能在場景中變得至關重要例如下面這樣:

create()函數是建構臨時X物件還是呼叫函數X?在全域範圍內,將呼叫函數 X。因此,注入的類別名稱保證在 X 類主體中,名稱 X 始終引用類別本身,從而防止潛在的歧義。

注入的類別名稱在類別模板中也被證明是有益的,允許模板類別無需指定參數即可引用,從而簡化了表達式。

儘管概念上存在於 C 98 中,但術語「注入類別名稱」是在 C 03 中引入的(DR 147)。在 C 98 之前,ARM 語言規範隱含了這個概念,但缺乏具體的術語。

注入類別名稱的優點:

  • 成員中的清晰度存取: 確保在其自己的類別中精確識別類別範圍。
  • 類別模板的簡單性:無需模板參數即可方便地引用當前類別實例化。

以上是C 中註入類別名稱的目的和歷史是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn