Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1073442
  • 博文数量: 77
  • 博客积分: 11498
  • 博客等级: 上将
  • 技术积分: 1840
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-04 11:10
文章分类

全部博文(77)

文章存档

2011年(1)

2010年(16)

2009年(5)

2008年(55)

分类: C/C++

2008-08-26 21:07:22


    VC 之 Debug Iterator
    作者:tyc611.cublog.cn,2008-08-26
    VC从VS2005开始提供Checked Iterator和Debug Iterator支持。Checked Iterator仅提供了越界检查(可用于Debug版和Release版);而Debug Iterator提供了更复杂的调试功能(仅用于Debug版),能够检测到迭代器的不正确使用(比如,无效迭代器、越界、非同一容器的迭代器之间的二元运算,等等)。当检测到Iterator的非法使用时,Debug Iterator会弹出ASSERT对话框来报告错误。

    默认情况下,Debug Iterator的调试功能是打开的(默认定义了宏_HAS_ITERATOR_DEBUGGING为1),但可以通过通过宏_HAS_ITERATOR_DEBUGGING为0来关闭Debug Iterator的调试功能。

    另外,Debug Iterator具有非平凡的析构函数。如果它的析构函数因任何原因没有运行,将会导致访问异常和数据毁坏。

阅读(1335) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~