Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Localhost

Assert

Mensagens Recomendadas

Localhost

Alguém me podia explicar a utilidade disto? Já vi em vários códigos, por exemplo em soluções dadas pela usaco para os problemas propostos após resolvidos que utilizam isto. Nunca percebi o que é e para que serve.

Obrigado desde já, Localhost :thumbsup:


here since 2009

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
merlin3000

http://ptolemy.eecs.berkeley.edu/~johnr/tutorials/assertions.html

Aqui provavelmente percebes a ideia.

Mas a ideia em si é simples, são testes que têm que dar verdadeiro ou o programa sai. É bom para quando fazes alterações de código, se souberes alguns resultados que têm que ser verdadeiros depois desse código executar, podes criar os asserts para esses casos. Uma vantagem é que com uma simples opção de compilação podes eliminar o overhead desses asserts.

Se usares programming by contract, também podes colocar isso no inicio de uma função por exemplo em que o código só corre se os parâmetros forem válidos.


Criar é Divertido

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Localhost

E quando eu faço isto, dentro de uma função exterior à main:

assert(0);

Vai sair dessa função ou do programa? Nesse caso ele vai sair sempre, correcto?


here since 2009

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
merlin3000

lol por acaso não tinha a certeza se com o 0 iria sair (embora fosse relativamente lógico) mas sim sai sempre. Se der numa função acho que o caso normal é terminar a aplicação, nunca usei muito asserts mas devem haver formas de evitar que isso aconteça.


Criar é Divertido

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.