关于STL容器输出的更进一步简化,便于平时学习使用

原创 2007年10月16日 05:24:00

 以前我在实际学习过程中因为没有好的容器输出方法而苦恼,目前知道的最简单的方法也可能就是如下方式了:

copy(container.begin(),container.end(),ostream(cout," ");

当然,其实也不是怎么太复杂,只是最开始不怎么知道。到今天,已经知道可以一行代码就输出容器了,我还优化什么啊?看了就知道了。

 

//以容器为输入的简化函数,第二参数为前置的string,默认为空

      template <class T>

      void printCon(const T &orig,const std::string str ="")

      {

           std::cout <<str;

           typename T::const_iterator it;

           for(it = orig.begin();it != orig.end(); ++it)

                 std::cout << *it <<" ";

           cout<<endl;

      }

 

//重载的容器输出函数,以迭代器为输入,方便输出容器的一部份甚至数组,

//第三参数为前置的string,默认为空

      template <class T>

      void printCon(T itBegin, T itEnd, const std::string str ="")

      {

           std::cout <<str;

           for( NULL; itBegin != itEnd; ++itBegin)

                 std::cout << *itBegin <<" ";

           cout<<endl;

      }

 

 

竟然是要简单,所以当然应该提供只需要一个容器参数就可以输出的方法,但是却还想要保留输出范围的能力,怎么办呢?重载。。。。

另外,输出的时候前面一般加说明,这里以一个默认为空的参数加进来,这样更加方便了,另外,我用const std::string而不用const char*是为了应用范围更广泛,因为有char* string的默认构造函数,可以自动转换,反之则不行,不知道这样有没有副作用,高手提醒之。还有,因为常用,我把它放到myself名字空间下。这里未与列出。

 
版权声明:本作品由九天雁翎创作,采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。http://www.jtianling.com

C++中STL常用容器的区别

文章转载之博客: 我们常用到的STL容器有vector、list、deque、map、multimap、set和multiset,它们究竟有何区别,各自的优缺点是什么,为...
  • yyme411
  • yyme411
  • 2014年07月27日 21:47
  • 3744

STL基础篇(适合初学者快速入门)

1.       STL 是什么 作为一个C++ 程序设计者,STL 是一种不可忽视的技术。 Standard Template Library (STL) :标准模板库, 更准确的说是 C++ 程...
  • a20102110080212
  • a20102110080212
  • 2013年09月14日 11:52
  • 2268

C++ STL 中 map 容器的说明和使用技巧

Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!    1、map简介 map是一类关联...
  • u014552726
  • u014552726
  • 2014年07月22日 10:04
  • 8433

实现模板函数to_string用来格式化输出stl容器中的内容以及基础类型及自定义类型

  • 2013年07月17日 15:22
  • 10KB
  • 下载

STL的容器deque的使用

  • 2014年07月20日 21:32
  • 28KB
  • 下载

STL容器queue的使用

  • 2014年07月20日 21:39
  • 25KB
  • 下载

stl容器map的使用

  • 2014年07月20日 21:35
  • 26KB
  • 下载

STL容器使用代码

  • 2017年01月05日 11:03
  • 9KB
  • 下载

stl_set容器详细使用方法

  • 2014年04月28日 12:16
  • 154KB
  • 下载

STL容器multiset的使用

  • 2014年07月20日 21:38
  • 28KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于STL容器输出的更进一步简化,便于平时学习使用
举报原因:
原因补充:

(最多只允许输入30个字)