Você estará criando um novo arquivo C ++ em seu terminal. Isso deve ser feito usando a consulta "Touch" dentro da concha. Assim, a consulta usada para esse fim foi exibida na imagem abaixo.
Agora, o arquivo é colocado no explorador de arquivos domésticos do sistema Linux. Temos que abrir este arquivo C ++ em um dos nossos editores instalados, eu.e., vim, texto ou nano. Então, estamos escolhendo o editor da GNU Nano para esse fim. O comando para abrir este novo arquivo é mostrado abaixo.
Exemplo 01
Vamos começar com o primeiro exemplo de uso da instrução Assert no código C ++ para validar a lógica de algumas instruções de código. Iniciamos o código com os arquivos do cabeçalho. A adição de um cabeçalho de fluxo de entrada e saída é necessária quando você está trabalhando na plataforma C ++. O espaço de nome padrão é obrigatório em C ++ com a palavra -chave "usando" e "std" nele, como você pode ver na imagem também. Para o usuário da declaração "assert", precisamos adicionar o arquivo de cabeçalho de assert para torná -lo funcional. Assim, adicionamos o “afirmador.H ”Arquivo de cabeçalho com a palavra -chave“ #include ”. O método principal () foi iniciado para fazer a execução.
Inicializamos uma variável inteira chamada "Val" com um valor de 13. Na próxima linha consecutiva, a variável "val" foi substituída com outro valor de 15. A declaração assert foi usada depois disso para verificar se a variável "val" tem igual ao valor 13. Como está logicamente incorreto e a variável "val" foi substituída com o valor 15, ele lançará uma exceção. Vamos salvar o código após a conclusão de uma função principal () com "Ctrl+s". Após salvar, precisamos voltar ao terminal para fins de compilação e execução com "Ctrl+X".
Para a compilação de código C ++, você deve precisar de algum compilador configurado no seu Ubuntu 20.04 Sistema. Assim, estamos usando a instrução de compilação G ++ no shell para compilar o arquivo “afirmam.CC ”. A compilação retorna nada em troca está nos deixando claro que o código está sintaticamente correto por toda parte. Vamos apenas executar o arquivo com nosso eterno “./a.fora ”comando no console. A execução de um arquivo retorna o erro em troca, à medida que a declaração assert retorna falsa em troca. A saída é apresentada na imagem afixada.
Se você deseja evitar a saída de erro reivindicada pela declaração assert, deve definir o sinalizador de não depuração dentro do seu código C ++. Para esse fim, você deve usar a palavra -chave "Definir" com o sinal de hash e "Ndebug" como uma bandeira na área de cabeçalho. Assim, abrimos o mesmo arquivo e adicionamos o espaço para nome após o arquivo de cabeçalho "IO". Após o espaço para nome padrão, definimos a bandeira "Ndebug" no cabeçalho e usamos o "assert.H ”Cabeçalho depois disso. Certifique -se de não alterar a sequência dos cabeçalhos mostrados abaixo. Dentro da função main (), adicionamos a declaração de cout para produzir que a desativação de assert tenha sido bem -sucedida.
Vamos compilar e executar este código atualizado novamente no shell. Ao fazer isso, não temos erros desta vez usando o "Ndebug" em nossa área de cabeçalho.
Exemplo 02
Vamos ter um novo exemplo de usar a declaração assert no código C ++. Mas desta vez, usaremos a declaração de assert em alguma função definida pelo usuário. Assim, adicionamos os arquivos de cabeçalho e o espaço para nome padrão no início do código em uma sequência. O método de defesa do usuário chamado "show ()" foi declarado, levando o valor do ponteiro do tipo inteiro em seu parâmetro.
Dentro da função show (), usamos a declaração "assert" para ver se o ponteiro passado no parâmetro não é nulo. Se for nulo, o erro será jogado. A declaração cout exibirá o valor de uma variável que o ponteiro "V" está apontando para. Dentro da função principal, inicializamos uma variável inteira "val" com um valor de 13. Dois ponteiros “A” e “B” foram inicializados para nulo. O endereço da variável "val" foi vinculado ao ponteiro "A". A função show () foi chamada com o ponteiro de passagem "A" e "B" separadamente para produzir resultados diferentes. A segunda chamada para mostrar a função deve dar uma exceção porque leva o ponteiro nulo, e a declaração assert retorna falsa em troca. Vamos salvar e executar o código.
Depois de executar este código, obtivemos o mesmo resultado que discutimos acima. Ele mostra o resultado 13 para a primeira chamada de função, eu.e., Ponteiro passou "A", enquanto a outra chamada de função mostra o erro.
Para corrigir este erro, você só precisa vincular o ponteiro "B" com a variável "val" também. Assim, fizemos o mesmo dentro do código abaixo da mascate. Substituímos a variável "val" por V1 e adicionamos outra variável, "V2". A variável V1 foi vinculada ao ponteiro "A" e V2 foi vinculada ao ponteiro "B". O script geral permanece o mesmo que mostrado.
Após a depuração e execução do código, nenhum erro foi encontrado até agora. Ambos os valores para variáveis V1 e V2 foram exibidos com sucesso, como mostrado abaixo.
Exemplo 03
Vamos terminar com o último, mas não o menor exemplo de uma declaração assert no código C ++. O código contém as duas declarações afirmativas e duas declarações cout. A primeira declaração assert está verificando se a multiplicação resultar na mesma saída. Como a condição está correta logicamente, ela deve retornar verdadeira e nenhum erro será mostrado. A declaração cout será executada exibindo que a primeira declaração estava correta. A outra declaração assert está verificando novamente se a multiplicação de ambos os lados retornar a mesma saída. Como a saída não seria a mesma, será logicamente incorreto. Portanto, estará retornando falso. Devido a isso, o erro ocorrerá e a declaração cout não será executada depois disso.
Devido a erro lógico, o programa termina automaticamente após a execução do primeiro cout.
Para resolver esse problema, usaremos a bandeira "Ndebug" no código como fizemos até agora.
Desta vez, nenhum erro foi exibido, e ambas as declarações cout são executadas.
Conclusão
O artigo é sobre o uso de declaração de afirmação C ++. Tentamos o nosso melhor para demonstrar seu trabalho através da função principal () e função definida pelo usuário. Também discutimos o caminho para desativar a afirmação em C ++, eu.e., A bandeira Ndebug. Esperamos que todos os exemplos forneçam imensa ajuda.