Mais um caso que didaticamente faz muito sentido, mas a realidade é um pouco diferente. Como a maioria reagiria à afirmação de que não existe a estrutura if-elseif na linguagem C? Pois não existe mesmo e é fácil de comprovar.
(mais…)Tags: controle de fluxo
Apesar de não ser único das linguagens C e C++, a forma que a estrutura de controle de fluxo switch funciona é um pouco diferente de quando aprendemos algorítmos, ou quando aprendemos linguagens mais simples. Este post vai explicar como exatamente funciona o switch, e por que é necessário utilizar o break no switch? Será que é?
(mais…)Loop é uma construção básica em uma linguagem de programação estruturada, e o loop for uma das formas mais comuns. Em C++ temos 5 formas de implementar loops for.
(mais…)C++ tem várias opções de iteração. Desde o C++98 existe o algoritmo for_each disponível. Basicamente o que este algoritmo faz é executar uma função a todos os elementos contidos em um tipo iterável, tal como um std::vector, ou um std::map, dentre diversos outros.
(mais…)É comum programadores C/C++ com certa experiência não saberem como exatamente funciona o loop for. A maioria aprende um paralelo entre o For-To-Next e o for e não fica sabendo do verdadeiro poder do for em C/C++.
Veja o exemplo abaixo que valida a versão de um conjunto de nós:
for (ctnode = nnodes; ctnode--; )
if (strcmp(refversion, nodes[ctnode].version)
break;
if (ctnode >= 0)
TRACE(TRACE_ERROR, "Not all nodes in same version, aborting");
(mais…)
Tratamento de erros em C pode se tornar um problema. É muito fácil se perder um conjuntos de ifs aninhados, aumentando cada vez mais a interpretação do código, dificultando, consequentemente, sua manutenção. Vamos ver um exemplo:
(mais…)