首頁  >  文章  >  後端開發  >  為什麼我可以在該類別模板中使用類別名稱“Link”而不是“Link”?

為什麼我可以在該類別模板中使用類別名稱“Link”而不是“Link”?

Patricia Arquette
Patricia Arquette原創
2024-11-04 06:31:29904瀏覽

Why Can I Use the Class Name

在類別模板中使用類別名稱

在提供的程式碼片段中,公共成員變數 Link* next 缺少模板參數。這是由於一個稱為“注入的類別名稱”的功能。

根據 C 標準([temp.local]),在類別模板的範圍內,注入的類別名稱相當於模板名稱,後面跟著包含在 <...> 中的模板參數。但是,當用作類型名稱時,注入的類別名稱指的是類別模板本身。

對於 Link 類別模板,注入的類別名稱只是 Link。因此,Link* next 行;實際上相當於 Link* next;。使用注入的類別名稱作為簡寫可以節省為連結指標明確指定模板參數的需要。

此功能在類別模板中很方便,尤其是當模板參數清單很豐富時。透過使用注入的類別名,類別名稱可以引用自身,而不會因為過多的模板參數而使程式碼變得混亂。

以上是為什麼我可以在該類別模板中使用類別名稱“Link”而不是“Link”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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