C++ 的 assert
函数是预定义的,用于在运行时检查条件是否为真。如果条件为假,程序会终止并显示错误消息。然而,你可以通过定义自己的宏或函数来实现类似的功能。
以下是一个自定义 assert
的示例:
#include#include // 自定义 assert 宏 #define MY_ASSERT(condition) do { \ if (!(condition)) { \ std::cerr << "Assertion failed: " << #condition << std::endl; \ std::abort(); \ } \ } while (0) int main() { int a = 5; int b = 0; MY_ASSERT(b != 0); // 如果 b 为 0,程序将显示错误消息并终止 std::cout << "Program continues..." << std::endl; return 0; }
在这个示例中,我们定义了一个名为 MY_ASSERT
的宏,它接受一个条件参数。如果条件为假,程序将显示错误消息并终止。否则,程序将继续执行。请注意,这个自定义 assert
不会在发布版本中启用,因为它使用了 std::abort()
函数。在发布版本中,你可能希望使用更友好的错误处理方式。