学习vector打印,发现用template来实现不同类型的vector也可以,如下:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
template<typename T>
void printVector(const vector<T> &v){
for (typename::std::vector<T>::const_iterator it=v.begin();it!=v.end();it++){
cout << *it ;
}
cout << endl;
}
int main(){
vector<int> v1;
for (int i=0;i<10;i++)
{
v1.push_back(i);
}
vector<string> v2={
"aa","bbb","CCCC"};
for (vector<int>::iterator j=v1.begin(); j != v1.end();j++)
{
cout << *j << "" ;
}
cout << endl;
for (vector<string>::iterator k=v2.begin(); k != v2.end();k++)
{
cout << *k << "" ;
}
cout << endl;
cout << "print vector from template" <<endl;
printVector(v1);
printVector(v2);
return 0;
}
写的过程遇到:need ‘typename’ before ‘std::vector::iterator’ because ‘std::vector’ is a dependent scope
查看解决,感谢:https://blog.csdn.net/u013620306/article/details/128450381