c++ - 在 C++ 中实现断言检查的最佳方法是什么?

标签 c++ debugging assert debugbreak

我的意思是,我需要做什么才能在我的代码中包含有用的断言?

MFC 很简单,我只使用 ASSERT(something)。

什么是非MFC方式?

编辑:是否可以在 assert.c 中停止断言中断,而不是在我调用 assert() 的文件中停止?

编辑: <assert.h> 之间有什么区别? & <cassert> ?

接受的答案:这篇文章中有很多很棒的答案,我希望我可以接受多个答案(或者有人会将它们全部结合起来)。因此,答案将授予 Ferruccio(第一个答案)。

最佳答案

#include <cassert>

assert(something);

对于编译时检查,Boost 的静态断言非常有用:

#include <boost/static_assert.hpp>

BOOST_STATIC_ASSERT(sizeof(int) == 4);  // compile fails if ints aren't 32-bit

关于c++ - 在 C++ 中实现断言检查的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/179723/

相关文章:

python - 如何在不添加参数的情况下对基于时间的函数进行单元测试

c++ - 我该怎么做才能让我的代码寻找最少数量的硬币?

Eclipse 3.4 + Tomcat 6.0 + 使用控制台输出进行远程调试

c# - 如何从托管代码项目中调试 native 代码项目? C++/C#

javascript - window.prompt 的值未返回正确的 "Length"属性值

javascript - 无法使用 selenium 验证错误消息

c++ - 断言由 OpenCV checkVector() 在其他有效 vector<vector<Point3f>> 上抛出

c++ - 从网址下载内容

c++ - 使用包含托管类的/CLR 标志构建的 native dll

c++11 随机引擎和分布交互和成本