学习函数模版时,有如下代码。
#include <iostream>
#include <string>
using namespace std;
template <class T>
const T& max(const T& x,const T&y)//个人觉得返回的引用没什么作用!!!
{
return x < y ? y : x;
}
void main()
{
int i1 = 3;
int i2 = 7;
cout << "Maxium is: " <<max(i1,i2) << endl;
float f1 = 22.5;
float f2 = 12.3;
cout << "Muxium is: " << max(f1,f2) << endl;
string s1 = "test1";
string s2 = "test2";
cout << "Maxium is: " << max(s1,s2) << endl;
}
我的问题
1)T& max这个函数个人觉得因为参数已经是引用了,所以这个函数用的就是实参,所以再返回一个引用,感觉没什么作用,也就是直接T max(const T& x,const T&y),也可以,不知道对不对?
2)string s1 = "test1";
string s2 = "test2";
这两个参数是如何比较大小的? |