[计算机科学经

H testprogcpp 18 findif template template algoh 115

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 <typename T> inline T const& max (T const& a, T const& b, T const& c) { return ::max (::max(a,b), c); } int main() { ::max(7, 42, 68); // 喚起「接受㆔個引數」的函式 ::max(7.0, 42.0); // 喚起 max<double>(經由引數推導) ::max('a', 'b'); // 喚起 max<char>(經由引數推導) ::max(7, 42); // 喚起「接受兩個 int 引數」的 non-template 函式 ::max<>(7, 42); // 喚起 max<int>(經由引數推導) ::max<double>(7, 42); // 喚起 max<double>(無需引數推導) ::max('a', 42.7); // 喚起「接受兩個 int 引數」的 non-template 函式 } /* 譯註:ICL7.1/g++ 3.2 順利通過本例。VC6 無法把最後㆒個叫匹配到常規的(non-template) 函式 max() ,造成編譯失敗。 但對倒數第㆓個呼叫給出警告: 雖然它喚起的是 function VC7.1 可順利編譯, template max(),但它發現常規函式 max()與這個呼叫更匹配。*/ C++ Templates - The Complete Guide 2 16 Function Templates(函式模板) 這個例子說明:non-template function 可以和同名的 function template 共存,也可以和其相同型別 的具現體共存。當其他要...
View Full Document

This note was uploaded on 08/25/2012 for the course EECS 101 taught by Professor Wre during the Fall '12 term at Beacon FL.

Ask a homework question - tutors are online