如何检查构造函数/析构函数内部是否使用了虚方法?
How can I check if virtual methods are used inside constructors/destructors?
我确信我正在进行的大项目受到这个问题的困扰。有一次,我甚至不得不调试一个与此相关的bug。是否有可能编写某种智能代码来捕获这种调用?或者,也许有工具可以帮助找到这些和其他类型的问题?(我使用vs2008)。
Scott Meyers页面列出了几个代码检查工具(PC-Lint, CodeCheck和CodeAdvisor),它们能够对构造函数的虚函数调用发出警告。
相关文章:
- 是否可以为 QPixmap 派生类嵌入缩放方法?
- 是否有内置方法可以强制转换为不同的基础类型,但保留常量限定符?
- 跨 DLL 边界访问虚拟方法是否安全/可能?
- 是否可以依赖函数范围的静态变量来执行程序关闭期间调用的方法?
- 有没有一种优雅而快速的方法来测试整数中的 1 位是否位于连续区域
- 有没有办法在 c++ 中同时生成随机数?如果没有,是否有解决方法?
- 是否可以使用基类非虚拟方法中的派生类虚拟方法?
- 检查两个节点在子节点上是否具有相同状态的更优雅的方法
- 检查类是否在方法中实例化
- C++方法是否可以根据传递给构造函数的参数具有不同的返回类型?
- 使用类在C++中存储和列出变量/方法是否是一种好的做法
- 是否有通用方法可以找到任何以 null 结尾的字符串的长度?
- 检查类方法中是否(此 == nullptr)
- 是否可以从C++程序中调用 ACPI 方法?
- 是否可以将不可复制的成员用作使对象不可复制的替代方法?
- 是否有一种标准方法来计算两个 asctime() 值之间的天数
- C++方法实现:是否可以避免每次都键入类名?
- 是否有正确的方法对生成文件中的对象文件使用模板命令?(C++)
- 在销毁期间从另一个线程调用对象上调用方法是否未定义行为?
- 使用 std::vector::swap 方法在C++中交换两个不同的向量是否安全?