assert
![]() |
ÐÑа ÑÑÑаниÑа бÑла пеÑеведена авÑомаÑиÑеÑки Ñ Ð°Ð½Ð³Ð»Ð¸Ð¹Ñкой веÑÑии вики иÑполÑзÑÑ ÐеÑеводÑик Google. ÐеÑевод Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ Ð¾Ñибки и ÑÑÑаннÑе ÑоÑмÑлиÑовки. ÐаведиÑе кÑÑÑÐ¾Ñ Ð½Ð° ÑекÑÑ, ÑÑÐ¾Ð±Ñ ÑвидеÑÑ Ð¾Ñигинал. ЩÑлкниÑе здеÑÑ, ÑÑÐ¾Ð±Ñ ÑвидеÑÑ Ð°Ð½Ð³Ð»Ð¸Ð¹ÑкÑÑ Ð²ÐµÑÑÐ¸Ñ ÑÑой ÑÑÑаниÑÑ. (ÐÑ Ð¼Ð¾Ð¶ÐµÑе помоÑÑ Ð² иÑпÑавлении оÑибок и ÑлÑÑÑении пеÑевода. ÐÐ»Ñ Ð¸Ð½ÑÑÑÑкÑий пеÑейдиÑе по ÑÑÑлке.) |
ÐпÑеделено в заголовоÑном Ñайле <cassert>
|
||
#ifdef NDEBUG #define assert(condition) ((void)0) |
||
assert
макÑоÑов завиÑÐ¸Ñ Ð¾Ñ Ð´ÑÑгого макÑоÑа, NDEBUG, коÑоÑÑй не опÑеделен в ÑÑандаÑÑной библиоÑеке.assert
depends on another macro, NDEBUG, which is not defined by the standard library.ÐÑ Ð¼Ð¾Ð¶ÐµÑе пÑовеÑиÑÑ Ð¸ иÑпÑавиÑÑ Ð¿ÐµÑевод. ÐÐ»Ñ Ð¸Ð½ÑÑÑÑкÑий ÑÑлкниÑе ÑÑда.
<cassert>
вклÑÑен, Ñо assert
ниÑего не делаеÑ.<cassert>
is included, then assert
does nothing.ÐÑ Ð¼Ð¾Ð¶ÐµÑе пÑовеÑиÑÑ Ð¸ иÑпÑавиÑÑ Ð¿ÐµÑевод. ÐÐ»Ñ Ð¸Ð½ÑÑÑÑкÑий ÑÑлкниÑе ÑÑда.
assert
пÑовеÑки, еÑли ее аÑгÑÐ¼ÐµÐ½Ñ (коÑоÑÑе Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ ÑкалÑÑного Ñипа) ÑÑÐ°Ð²Ð½Ð¸Ð²Ð°ÐµÑ Ñавна нÑлÑ. ÐÑли ÑÑо пÑоизойдеÑ, assert
вÑÐ²Ð¾Ð´Ð¸Ñ ÐºÐ¾Ð½ÐºÑеÑной ÑеализаÑии диагноÑÑиÑеÑкой инÑоÑмаÑии на ÑÑандаÑÑнÑй вÑвод оÑибок и вÑзÑÐ²Ð°ÐµÑ std::abort. ÐиагноÑÑиÑеÑкÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð½ÐµÐ¾Ð±Ñ
одимо вклÑÑиÑÑ Ð² ÑекÑÑ expression
, а Ñакже знаÑений ÑÑандаÑÑнÑÑ
макÑоÑов __FILE__, __LINE__, и ÑÑандаÑÑнÑе __func__ пеÑеменной.assert
checks if its argument (which must have scalar type) compares equal to zero. If it does, assert
outputs implementation-specific diagnostic information on the standard error output and calls std::abort. The diagnostic information is required to include the text of expression
, as well as the values of the standard macros __FILE__, __LINE__, and the standard variable __func__.ÐÑ Ð¼Ð¾Ð¶ÐµÑе пÑовеÑиÑÑ Ð¸ иÑпÑавиÑÑ Ð¿ÐµÑевод. ÐÐ»Ñ Ð¸Ð½ÑÑÑÑкÑий ÑÑлкниÑе ÑÑда.
СодеÑжание |
[пÑавиÑÑ] ÐаÑамеÑÑÑ
condition | â | ÐÑÑажение ÑкалÑÑного Ñипа
ÐÑигинал: expression of scalar type ТекÑÑ Ð±Ñл пеÑеведÑн авÑомаÑиÑеÑки иÑполÑзÑÑ ÐеÑеводÑик Google. ÐÑ Ð¼Ð¾Ð¶ÐµÑе пÑовеÑиÑÑ Ð¸ иÑпÑавиÑÑ Ð¿ÐµÑевод. ÐÐ»Ñ Ð¸Ð½ÑÑÑÑкÑий ÑÑлкниÑе ÑÑда. |
[пÑавиÑÑ] ÐозвÑаÑаемое знаÑение
(ÐеÑ)
[пÑавиÑÑ] ÐÑимеÑ
ÐÑвод:
Execution continues past the first assert test: test.cc:8: int main(): Assertion `2+2==5' failed. Aborted
[пÑавиÑÑ] См. Ñакже
обÑÑвление static_assert (C++11)
|
вÑполнÑÐµÑ Ð¿ÑовеÑÐºÑ ÑÑвеÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð²Ð¾ вÑÐµÐ¼Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑии |
вÑзÑÐ²Ð°ÐµÑ Ð°Ð²Ð°Ñийное завеÑÑение пÑогÑÐ°Ð¼Ð¼Ñ (без оÑиÑÑки) (ÑÑнкÑиÑ) |