HI, 我開始學習C++ STL的 我只是想他們中的一些小programs.one低於:C++模板查詢
inline int const& max (int const& a, int const& b)
{
return a < b ? b : a;
}
template <typename T>
inline T const& max (T const& a, T const& b)
{
return a < b ? b : a;
}
int main()
{
::max(7, 42); // calls the nontemplate for two ints
::max<>(7, 42); // calls max<int> (by argument deduction)
::max('a', 42.7); // calls the nontemplate for two ints
}
我有一些基本的問題!
爲什麼在這裏使用的作用域分辨率爲 ?
爲什麼/如何 ,調用::最大<>(7,42)將 假定傳遞的參數是
的整數?
一條建議:像這樣的const引用傳遞/返回int並不是真正的慣用法。只要做到這一點:「int max(int a,int b)」 – Manuel 2010-02-08 13:05:40