首頁  >  文章  >  後端開發  >  類別模板中的類別名稱在沒有模板參數的情況下如何運作?

類別模板中的類別名稱在沒有模板參數的情況下如何運作?

Patricia Arquette
Patricia Arquette原創
2024-10-31 11:46:31357瀏覽

How do Class Names in Class Templates Work Without Template Parameters?

沒有範本參數的類別範本中的類別名稱

考慮如下定義的類別範本:

<code class="cpp">template <typename E>
class Link {
public:
    E element;
    Link* next;  // No typename argument here
};</code>

考慮如下定義的類別範本:

您提供的程式碼具有公用成員Link* next ,不含typename 參數。這被稱為「注入的類別名稱」。

根據[temp.local],當注入的類別名稱在類別的範圍內使用時,它相當於類別名稱後面加上尖括號包含類別的模板參數。在這種情況下,Link 實際上變成了 Link。 因此,Link 類別中的表達式 Link* next 相當於 Link* next。這個便利的功能允許類別使用其全名來引用自身,而無需明確指定模板參數。

以上是類別模板中的類別名稱在沒有模板參數的情況下如何運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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