C++のassert関数の用途は?

C++のassert関数は、プログラム内の条件がtrueであるかどうかをチェックするためのアサーション関数です。式をパラメーターとして受け取り、式がfalseだった場合にプログラムの実行を停止して、対応するエラーメッセージを出力します。

assert関数は以下の通り使用されます。

#include <cassert>

int main() {
    int x = 5;
    assert(x > 0);  // 检查x是否大于0,如果不满足条件,程序终止
    return 0;
}

assertが真である場合はプログラムの実行が継続されます。偽の場合、プログラムの実行は停止し、文件名、行番号、文字列表現を含めたエラー情報が出力されます。

assert関数はC++ではマクロ定義されておりNDEBUGマクロが定義されていると無効、すなわち何もしなくなります。そのため、リリース版では、パフォーマンスのオーバーヘッドを避けるため、通常assert関数は無効化されています。

bannerAds