回复:(aipb2007)[求助]写个count模板函数!
你们的都可以!
这个是我的:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
template<typename tcon,typename tval>
size_t count(typename tcon::iterator fir,typename tcon::iterator sec,
const tval &key){
size_t i = 0;
for (;fir != sec;++fir)
if (*fir == key)
++i;
return i;
}
int main(){
vector<string> svec;
string temp;
while (cin >> temp)
svec.push_back(temp);
size_t i = count(svec.begin(),svec.end(),string("love"));
cout << i << endl;
system("pause");
return 0;
}
你们都把迭代器直接作为类型参数去操作,我觉得是把容器类型作为模板参数,再用typename去指定迭带器,去作为形参。
究竟这个模板参数怎么去选择?我有点迷惑了!你们怎么就不约而同的这样去实现呢?
还有,我这个在dev-cpp里是可以的,但是在2005里不行!
这又是为什么!