在实际生产环境中,不能进行调试,所以程序通常需要编译一个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>头文件中,所以使用这个函数时需要包含该头文件

最新文章

  1. Util应用程序框架公共操作类(十一):表达式生成器
  2. web前端程序员真的值这么多钱吗?
  3. MYSQL获取自增ID的四种方法
  4. eval() 函数
  5. GEOS库学习之五:与GDAL/OGR结合使用
  6. 【HTML/XML 8】XSL,可扩展样式表语言
  7. PSP0级 周活动总结表+时间记录日志+缺陷记录日志 表格模板
  8. android聊天,存储聊天记录sqlite
  9. &quot;System.Web&quot; 中不存在类型或命名空间
  10. 原型(Prototype)模式
  11. ext__给grid Panel设置绑定事件
  12. Django分页器和自定义分页器
  13. Django中的ORM介绍,字段以及字段的参数。
  14. Oracle 9i 10g 11g 区别的转载
  15. JDBC创建数据库实例
  16. FocusBI: 《DW/BI项目管理》之数据库表结构 (原创)
  17. linux命令行设置git提示符
  18. 【微服务架构】SpringCloud之Eureka(服务注册和服务发现基础篇)(二)
  19. solidity语言
  20. 微信公众号开发java框架:wx4j(KefuUtils篇)

热门文章

  1. 【块状树】【树链剖分】bzoj1036 [ZJOI2008]树的统计Count
  2. 【模拟】bzoj2295 【POJ Challenge】我爱你啊
  3. 【bzoj1604】【[Usaco2008 Open]Cow Neighborhoods】简单的谈谈曼哈顿距离
  4. python3开发进阶-Django框架起飞前的准备
  5. Java小问题的解决方法系列
  6. React Native学习之自定义Navigator
  7. C++ set自定义排序规则(nyist 8)
  8. 【java】获取解析资源文件的方法
  9. easyui dialog 按钮动态命名
  10. 小二助手(react应用框架)-概述