C++中assert宏(2-1)

    技术2023-08-27  93

    assert是一种预处理宏,由预处理器管理。因此,assert宏并不是定义在命名空间std中的。

    1 预处理

    在C++程序源代码被编译之前,由预处理器对C++程序源代码进行的处理。这个过程并不对程序的源代码进行解析,而是源代码分割或处理成为特定的符号以便支持宏调用。

    2 assert宏的使用

    2.1 头文件

    assert宏在assert.h或者cassert中定义,在使用该宏时需要包含该头文件。

    2.2 格式

    assert宏的格式为

    assert(表达式)

    其中,当表达式为假时,assert输出信息并终止程序的执行;当表达式为真时,assert什么也不做。

    int i = 1; assert(2 == i);

    assert()中的表达式为假,运行程序时会弹出如图1的窗口。

     

    图1 assert()窗口

    Processed: 0.008, SQL: 9