C 中的注入類別名稱:揭示其目的
在C 中,注入類別名稱是指注入類別名稱的現象納入自己的範圍。此功能引發了有關其必要性和起源的問題。
注入類名稱的目的
注入的類名稱確保在類的主體內,類名稱始終引用當前類,即使在封閉範圍內聲明了另一個同名的類別。考慮以下範例:
void X() { } class X { public: static X create() { return X(); } };
在上面的程式碼中,注入的類別名稱的目的是區分建立臨時 X 物件和呼叫 X 函數。在命名空間範圍內,create() 函數將呼叫函數 X,而在類別的主體中,注入的類別名稱確保它引用類別本身。
類別範本中的意義
注入的類別名稱在類別範本中也很有用。它們允許使用類別名稱而不指定模板參數列表,從而更容易引用當前實例化。例如,您可以簡單地使用 Foo,而不是使用 Foo
簡介和術語
注入類別名稱的概念存在於C 98,但該術語是在 C 03 中引入的。 C 98 稱之為「將類別名稱插入課程本身的範圍。」C 03 創造了「注入類別名稱」一詞。
結論
注入類別名稱是 C 中的一個有價值的功能,可確保類別內正確的名稱尋找並簡化類別範本的語法。了解它們的目的和歷史演變可以增強對 C 程式設計的掌握。
以上是為什麼 C 中需要注入類別名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!