【发布时间】:2011-06-30 13:24:12
【问题描述】:
鉴于此代码,是否可以更改 dumpStrings() 以便能够遍历 string 的任何容器,例如 list<string> ?
#include <vector>
#include <string>
#include <ostream>
#include <iostream>
using namespace std;
void dumpStrings(vector<string>::iterator it, vector<string>::iterator end)
{
while (it != end) {
cout << *it++ << endl;
}
}
int main()
{
vector<string> strVector;
strVector.push_back("Hello");
strVector.push_back("World");
dumpStrings(strVector.begin(), strVector.end());
return 0;
}
【问题讨论】:
-
为什么还要限制为字符串?
template <typename Iterator> dump(Iterator first, Iterator last);怎么样? -
这只是一个例子。我有一些消耗字符串并且只消耗字符串的东西。我不想允许任何其他类型的项目。