通常,函数不应该有vector或其他容器类的形参。调用vector形参的函数将会复制vector的每一个元素。为避免复制,应将其声明为引用类型。然而,C++程序员更倾向于使用传递迭代器,如下:
#include "Head.h"
void print(vector<int>::const_iterator beg,
vector<int>::const_iterator end)
{
while (beg != end)
{
cout<<*beg++;
if (beg != end)
cout<<" ";
else
cout<<endl;
}
}
int main()
{
vector<int> ivec;
for (int i=0; i!=10; ++i)
ivec.push_back(i);
vector<int>::iterator begin = ivec.begin();
vector<int>::iterator end = ivec.end();
print(begin, end);
system("pause");
return 0;
}
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/hangyu628/archive/2009/05/20/4202182.aspx