[C++] assert
6822 ワード
assert
assert
関数を使用してエラーが発生する可能性のある場所に挿入すると、実行時に開発者に通知されます.#include <iostream>
#include <cassert>
using namespace std;
int main(void)
{
assert(false);
return 0;
}
assert
を使うと、どこが間違っているのか分かりやすいです.assert
は発行モードで動作しない.assertの例
#include <iostream>
#include <cassert> // assert.h
#include <array>
using namespace std;
void printValue(const std::array<int, 5> &my_array, const int &ix)
{
assert(ix >= 0); // 인덱스가 0보다 작으면 assert 에러
assert(ix <= my_array.size() - 1); // 인덱스가 size - 1보다 작으면 assert 에러
std::cout << my_array[ix] << std::endl;
}
int main()
{
std::array<int, 5> my_array{1, 2, 3, 4, 5};
printValue(my_array, 100);
return 0;
}
関数にassert
を加えることで、エラー入力時に警告情報を出力し、エラーが発生した場所を簡単に知ることができます.assert
は、実行時に実行されます.static_assert
static_assert
コンパイル中にエラーが発生しました.#include <iostream>
#include <cassert> // assert.h
#include <array>
using namespace std;
int main()
{
const int x = 10;
static_assert(x == 5, "x should be 5");
return 0;
}
static_assert
に文字を残すこともできます.Reference
この問題について([C++] assert), 我々は、より多くの情報をここで見つけました https://velog.io/@t1won/C-assertテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol