再看一本叫做<STL Lectures>的书,里面有一段代码让我学习了
我说这段代码让我学习,不是说它写的多好.因为这段代码在g++4.8上甚至都不能编译通过.max这个关键字在std名字空间中被定义了,这个是我没有注意道的地方.还好有人提醒我,要不然又要抓耳挠腮一整天了.
还有一个要注意的就是cout,这段代码输出的结果是7,4,8,c.
要像暑促保留小数点得用cout << fixed << max(3.0,4.0) <<endl;
还需要留意的是cout << scientific << << endl;会以科学计数发输出x的值
</pre><pre name="code" class="cpp">#include<iostream>
#include<string>
using namespace std;
template <typename T>
const T& max(const T& x, const T& y)
{
if( y < x )
return x;
return y;
}
int main()
{
cout << max(3,7) << endl;
cout << max(3.0,4.0) << endl;
cout << max<double>(3,8.0) << endl;
cout << max<char>('A','C');
return 0;
}
我说这段代码让我学习,不是说它写的多好.因为这段代码在g++4.8上甚至都不能编译通过.max这个关键字在std名字空间中被定义了,这个是我没有注意道的地方.还好有人提醒我,要不然又要抓耳挠腮一整天了.
还有一个要注意的就是cout,这段代码输出的结果是7,4,8,c.
要像暑促保留小数点得用cout << fixed << max(3.0,4.0) <<endl;
还需要留意的是cout << scientific << << endl;会以科学计数发输出x的值