C 中的注入類別名稱:目的和歷史
C 有一個有趣的概念,稱為注入類別名稱。透過將類別名稱注入到自己的作用域中,語言可確保類別內的名稱查找始終找到當前類別,即使在同一封閉作用域中存在其他類似命名的類別也是如此。
此功能在場景中變得至關重要例如下面這樣:
create()函數是建構臨時X物件還是呼叫函數X?在全域範圍內,將呼叫函數 X。因此,注入的類別名稱保證在 X 類主體中,名稱 X 始終引用類別本身,從而防止潛在的歧義。
注入的類別名稱在類別模板中也被證明是有益的,允許模板類別無需指定參數即可引用,從而簡化了表達式。
儘管概念上存在於 C 98 中,但術語「注入類別名稱」是在 C 03 中引入的(DR 147)。在 C 98 之前,ARM 語言規範隱含了這個概念,但缺乏具體的術語。
注入類別名稱的優點:
以上是C 中註入類別名稱的目的和歷史是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!