確定模板參數的「class」和「typename」之間的選擇
在C 模板定義中,出現的問題是是否使用'模板參數的“class”或“typename”。本文旨在全面了解這些選擇背後的意義和根本原因。
最初,Stroustrup 引入了關鍵字「class」來指定模板中的類型,目的是避免引入新的關鍵字。然而,一些委員會成員對「class」重載可能造成的混亂表示擔憂,因為它已經表示類型聲明。
為了解決這個問題,委員會引入了「typename」作為專門指定用於指定模板類型。此舉旨在減少語法歧義並引導開發人員採用更精確和直觀的方法。但是,「class」保留了其先前的功能以確保向後相容性。
因此,「class」和「typename」仍然是在 C 中定義模板參數的有效選項,充當可互換的關鍵字。一些開發人員可能更喜歡使用“typename”以避免混淆,而其他開發人員可能會保持傳統並堅持使用“class”。最終,「class」和「typename」之間的選擇是個人喜好問題,沒有重大的技術意義。
值得注意的是,在 C 17 之前,「class」是模板模板參數的要求。然而,隨著 C 17 的引入,「typename」也成為了這種情況下的首選選項,與模板類型的更一致的語法保持一致。
以上是模板參數的「class」或「typename」:何時使用哪一個?的詳細內容。更多資訊請關注PHP中文網其他相關文章!