遍历打印容器元素的函数模板

来源:互联网 发布:设计师有趣的事 知乎 编辑:程序博客网 时间:2024/04/30 23:03

//printutil.hpp

#ifndef __PRINTUTIL_HPP__#define __PRINTUTIL_HPP__#include <iostream>template<typename T>inline void PRINT_ELEMENTS(const T& col, const char* optctr=""){typename T::const_iterator pos;std::cout<< optctr ;for (pos = col.begin(); pos != col.end(); ++pos){cout<< *pos << ' ';}std::cout<<std::endl;}#endif//__PRINTUTIL_HPP__

调用:

#include "printutil.hpp"#include <list>#include <algorithm>using namespace std;class IntSequence{public:IntSequence(int init_value) : value_(init_value){}int operator()(){return value_++;}//operator()()private:int value_;};int _tmain(int argc, _TCHAR* argv[]){list<int> li;IntSequence seq(1);//generate_ngenerate_n<back_insert_iterator<list<int> >, int, IntSequence&>(back_inserter(li), 4, seq);PRINT_ELEMENTS(li);//generate_n(back_inserter(li), 4, IntSequence(20));PRINT_ELEMENTS(li);//generate_n(back_inserter(li), 4, seq);PRINT_ELEMENTS(li);return 0;}


0 0
原创粉丝点击