16.19 编写函数,接受一个容器的引用,打印容器中的元素,使用容器的size_type和size成员来控制打印元素的循环。
16.20 重写上一题的函数,使用begin和end返回的迭代器来控制循环。
#include<iostream> #include<string> #include<vector> #include<list> using namespace std; template <typename T> void print1(const T &v) { auto iter=v.begin(); for(typename T::size_type i=0;i!=v.size();++i) cout<<*iter++<<" "; cout<<endl; } template <typename T> void print2(const T &v) { auto iter=v.begin(); while(iter!=v.end()) cout<<*iter++<<" "; cout<<endl; } int main() { vector<int> vec={1,2,3,4,5,6,7,8,9,0}; list<int> lst={1,2,3,4,5,6,7,8,9,0}; print1(vec); print2(lst); return 0; }