Espaços nominais
Variantes
Acções

assert

Da cppreference.com
< cpp‎ | error

 
 
Biblioteca de utilitários
Digite apoio (basic types, RTTI, type traits)
Gerenciamento de memória dinâmica
De tratamento de erros
Utilidades do programa
Variadic funções
Data e hora
Objetos de função
(C++11)
Os operadores relacionais
Original:
Relational operators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
rel_ops::operator!=
rel_ops::operator>
rel_ops::operator<=
rel_ops::operator>=
Pares e tuplas
Original:
Pairs and tuples
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
Troque, avançar e avançar
Original:
Swap, forward and move
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
(C++11)
(C++11)
 
De tratamento de erros
Manipulação de exceção
Original:
Exception handling
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Manipulação de falhas de exceção
Original:
Exception handling failures
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(obsoleta)
(C++11)(obsoleta)
(obsoleta)
Categorias de exceção
Original:
Exception categories
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Códigos de erro
Original:
Error codes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Códigos de erro
Afirmações
Original:
Assertions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
assert
instalação system_error
Original:
system_error facility
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
(C++11)
 
Definido no cabeçalho <cassert>
#ifdef NDEBUG

#define assert(condition) ((void)0)
#else
#define assert(condition) /*implementation defined*/

#endif
A definição da macro assert depende de outra macro, NDEBUG, a qual não é definida pela biblioteca padrão.
Original:
The definition of the macro assert depends on another macro, NDEBUG, which is not defined by the standard library.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Se NDEBUG é definido como um nome de macro no ponto em que o código-fonte <cassert> é incluída, então não faz nada assert.
Original:
If NDEBUG is defined as a macro name at the point in the source code where <cassert> is included, then assert does nothing.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Se NDEBUG não está definido, em seguida, verifica assert se seu argumento (que deve ser do tipo escalar) compara igual a zero. Se isso acontecer, assert saídas aplicação específica informações de diagnóstico sobre a saída de erro padrão e chama std::abort. A informação de diagnóstico é necessária de modo a incluir o texto de expression, bem como os valores das macros standard __FILE__, __LINE__ eo __func__ variável padrão.
Original:
If NDEBUG is not defined, then 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__.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Índice

[editar]Parâmetros

condition -
expressão do tipo escalar
Original:
expression of scalar type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar]Valor de retorno

(Nenhum)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar]Exemplo

#include <iostream>// uncomment to disable assert()// #define NDEBUG#include <cassert>   int main(){ assert(2+2==4);std::cout<<"Execution continues past the first assert\n"; assert(2+2==5);std::cout<<"Execution continues past the second assert\n";}

Saída:

Execution continues past the first assert test: test.cc:8: int main(): Assertion `2+2==5' failed. Aborted

[editar]Veja também

afirmação estática
realiza em tempo de compilação afirmação verificando (desde C++11)
Original:
performs compile-time assertion checking (desde C++11)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
[edit]
provoca finalização anormal do programa (sem limpeza)
Original:
causes abnormal program termination (without cleaning up)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(função)[edit]
close