template中的const的问题。谢谢各位大哥了
#include<iostream>
#include<string>
using namespace std;
template<typename elemtype>
elemtype* find(const elemtype* first,const elemtype* last,const elemtype &value)
{
if(!first||!last)
return 0;
for(;first!=last;++first)
if(*first==value)
return first;
return 0;
}
int main()
{
int a[8]={1,1,2,3,5,8,13,21};
double da[]={1.5,2.0,2.5,3.0,3.5,4.0};
string sa[]={"pooh","piglet","eeyore","tigger"};
int* pi=find(a,a+8,a[3]);
double* pd=find(da,da+6,da[3]);
string* ps=find(sa,sa+4,sa[3]);
cout<<&a[3]<<" a sequence:"<<pi<<" "<<&pi<<endl;
cout<<&da[3]<<" da sequence:"<<pd<<" "<<&pd<<endl;
cout<<&sa[3]<<" sa sequence:"<<ps<<" "<<&ps<<endl;
return 0;
}
若去掉参数中的const,应怎么办呢?