在实际生产环境中,不能进行调试,所以程序通常需要编译一个DEBUG版本来辅助我们找出问题所在,编译这样的DEBUG版本最常用的手段就是在关键处输出我们关心一些变量的值到屏幕。
如果输出的简单的变量值,那么直接输出即可,但如果是向量或者队列等容器,那么就没办法直接输出了,而且写循环遍历也很麻烦,可以使用下面这个函数std::copy()
templateOutputIterator copy (InputIterator first, InputIterator last, OutputIterator result);
在实际使用时我们可以这样写代码:
#ifdef DEBUG cout << "File sum :" << vecFiles.size() << endl; copy(vecFiles.begin(), vecFiles.end(), ostream_iterator(cout, "\n"));#endif
注意:
copy函数定义在<algorithm>头文件中,所以使用时需要包含该头文件
ostream_iterator定义在<iterator>头文件中,所以使用这个函数时需要包含该头文件