摘要: 你很可能需要知道这个调试小技巧原调试debugvsnatvis总结 缘起最近在调试的时候,需要观察第三方容器中每一个元素的值。默认情况下,vs 并不知道如何显示第三方容器的内容,只能手动观察容器中的每一个值,超级不方便。我找到一个非常给力的好办法,你还知道其它好办法吗?为了更直观的感受这种便利,我特意截图对比了三种常用的观察变量的方法。 直接观察1、通过 vs 的悬浮提示观察。小贴士:把鼠标... 阅读全文
posted @ 2020-09-16 15:23 BCN 阅读(338) 评论(0) 推荐(0) 编辑
摘要: c++ 有趣的动态转换之 delete 崩溃探究兼谈基类虚析构的重要性原调试debugvsc++dynamic_castcrashdeletestack 前言在《有趣的动态转换》 这篇文章中,运行 测试代码3 会崩溃。本文试图揭示崩溃的原因。 错误更正在开始之前,需要更正《C++ 虚函数简介》中的一个错误。关于 CBase 和 CDerived 的虚表内容,析构函数的位置并不是直接存储了虚函... 阅读全文
posted @ 2020-09-16 15:17 BCN 阅读(986) 评论(0) 推荐(0) 编辑
摘要: 有趣的动态转换原调试debugvsc++dynamic_castcrash 缘起最近,在项目代码中看到一个非常神奇的类型转换—— 类型A 的指针居然能动态转换成另外一个完全没有任何关系的类指针。这…… 完全颠覆了我的认知。为了进一步了解这个神奇的操作,我特意模拟了项目代码中的情形,一起来看看吧。 代码简介BaseA 和 BaseB 是两个基类,NewA 继承自 BaseA,NewB 继承自 ... 阅读全文
posted @ 2020-09-16 15:15 BCN 阅读(195) 评论(0) 推荐(0) 编辑