std::copy ( myvector.begin(), myvector.end(), out_it )

在实际生产环境中,不能进行调试,所以程序通常需要编译一个DEBUG版本来辅助我们找出问题所在,编译这样的DEBUG版本最常用的手段就是在关键处输出我们关心一些变量的值到屏幕。

如果输出的简单的变量值,那么直接输出即可,但如果是向量或者队列等容器,那么就没办法直接输出了,而且写循环遍历也很麻烦,可以使用下面这个函数std::copy()

template <class InputIterator, class OutputIterator>
  OutputIterator copy (InputIterator first, InputIterator last, OutputIterator result);

在实际使用时我们可以这样写代码:

#ifdef DEBUG
            cout << "File sum :" << vecFiles.size() << endl;
            copy(vecFiles.begin(), vecFiles.end(), ostream_iterator<string>(cout, "\n"));
#endif

注意:

copy函数定义在<algorithm>头文件中,所以使用时需要包含该头文件

ostream_iterator定义在<iterator>头文件中,所以使用这个函数时需要包含该头文件

posted @ 2015-01-04 11:06  冷冰若水  阅读(689)  评论(0编辑  收藏  举报