首页 > 代码库 > typename使用在模板中区分static成员和类型
typename使用在模板中区分static成员和类型
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;}
typename使用在模板中区分static成员和类型
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。