[计算机科学经

Edgcom ellisstroustruparm margaret a ellis bjarne

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: , , 。 無論 template parameters 是以關鍵字 typename 還是以關鍵字 class 宣告,函式內定義的 class type (亦即 local classes)都不能被用做 template arguments。 22 Template template parameters 也不用來表示型別;然而我們討論 nontype parameters 時並不考慮 template template parameters。 C++ Templates - The Complete Guide 102 8 基礎技術更深入(Fundamentals in Depth) 這兩種情況很容易區分:頭㆒種情況㆗的 typename 後面總是緊跟㆒個簡單標識符號,第㆓種情 況㆗的 typename 後面跟㆒個帶飾詞的名稱(qualified name),亦即㆒個包含雙冒號(::)的名 稱。本書 5.1 節, p.43 和 9.3.2 節, p.130 告訴你何時需要在 nontype parameter 之前方使用關鍵字 typename。 Nontype parameters 也可以是 function 型別或 array 型別 但它們都會退化 decay) , ( 為對應的 pointer 型別: template<int buf[5]> class Lexer; template<int* buf> class Lexer; // buf 實際被當作 int* // OK:這是㆒個再宣告(redeclaration) Nontype template parameters 的宣告方式非常類似變數宣告,但你不能加...
View Full Document

Ask a homework question - tutors are online