练习 16.19:编写函数,接受一个容器的引用,打印容器中的元素。使用容器的size_type和size成员来控制打印元素的循环。
代码:
template <typename T>
void my_print(const T &cont) {
/*for (typename T::size_type i = 0; i < cont.size(); ++i) { //该版本要求容器的迭代器为随机访问迭代器
cout << cont[i] << endl;
}*/
typename T::const_iterator bgn = cont.begin();
typename T::size_type sz = cont.size();
while (sz--) {
cout << *bgn++ << endl;
}
}
练习 16.20:重写上一题的函数,使用begin和end返回的迭代器来控制循环。
template <typename T>
void my_print1(const T &cont) {
for (typename T::const_iterator bgn = cont.begin(); bgn != cont.end(); ++bgn) {
cout << *bgn << endl;
}
}