[计算机科学经

Cpp include iostream namespace x templatetypename t

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: nkage)之物件」的指標。 以浮點數或 class-type objects 作為 nontype template parameters 是不可以的: template <double VAT> double process (double v) { return v * VAT; } // 錯誤:浮點值不能作為 template parameters template <std::string name> // 錯誤:class objects 不能作為 template parameters class MyClass { ... }; 不允許浮點字面常數(floating-point literals)或簡單的常量浮點運算式( constant floating-point expressions)作為 template arguments,其實只是歷史因素,並非技術原因。由於並沒有什麼實作 ㆖的困難,或許將來 C++ 會支援它,請參考 13.4 節, p.210。 由於字串字面常數(string literal)是㆒種採用內部聯結(internal linkage)的物件,也就是說不 同模組(modules)內的兩個同值的字串字面常數,其實是不同的物件,因此它們也不能被拿來 作為 template arguments: template <char const* name> class MyClass { ... }; MyClass<"hello"> x; // 錯誤:不能使用字串常量"hello" 此外,全域性指標也...
View Full Document

{[ snackBarMessage ]}

Ask a homework question - tutors are online