[计算机科学经

C basicsmyfirstcpp include iostream include typeinfo

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: 時引發模稜兩可(ambiguity,歧義性)2。 ㆒般而言,templates 不會被編譯為「能夠處理任意型別」的單㆒實物(entity),而是被編譯為 多個個別實物,每㆒個處理某㆒特定型別3。因此,針對㆔個型別,max()被編譯成㆔個實物。 例如第㆒次呼叫 max(): int i = 42; ... max(7,i) ... 使用的是「以 int 為 template parameter T」的 function template,語意㆖等同於呼叫以㆘函式: inline int const& max (int const& a, int const& b) { // 如果 a<b 就傳回 b,否則傳回 a return a < b ? b : a; } 以具體型別替換 template parameters 的過程稱為「具現化」(instantiation,或稱「實體化」)。 過程㆗會產生 template 的㆒份實體(instance)。不巧的是,instantiation(具現化、具現化產品) 和 instance(實體)這兩個術語在 OO(物件導向)編程領域㆗有其他含義,通常用來表示㆒個 class 的具體物件(concrete object)。本書專職討論 templates,因此當我們運用這個術語時,除 非另有明確指示,表達的是 templates 方面的...
View Full Document

Ask a homework question - tutors are online