O declaração de mudança em C++ é um potente estrutura de controle que permite executar vários segmentos de código com base no resultado de uma expressão. Oferece um substituto sofisticado e eficaz para a utilização de uma sucessão de declarações if-else-if quando você tem que tomar uma decisão entre várias possibilidades.
A instrução switch C++ executa uma instrução a partir de várias condições. É como a instrução ladder if-else-if em C++.
switch(expression){ case value1: //code to be executed; break; case value2: //code to be executed; break; ...... default: //code to be executed if all cases are not matched; break; }
Exemplo de chave C++
#include using namespace std; int main () { int num; cout<>num; switch (num) { case 10: cout<<'it 20 is 10'; break; case 20: cout<<'it 20'; 30: 30'; default: cout<<'not 10, or } < pre> <p> <strong>Output:</strong> </p> <pre> Enter a number: 10 It is 10 </pre> <p> <strong>Output:</strong> </p> <pre> Enter a number: 55 Not 10, 20 or 30 </pre> <h2>Features of Switch Statement:</h2> <p>There are several features of the <strong> <em>switch statement</em> </strong> in C++. Some main features of the <strong> <em>switch statement</em> </strong> in C are as follows:</p> <ol class="points"> <li>The <strong> <em>fall-through</em> </strong> behavior of the C++ <strong> <em>switch statement</em> </strong> is one of its key features. The control will <strong> <em>fall through</em> </strong> to the next case if a <strong> <em>break statement</em> </strong> is not used to <strong> <em>stop</em> </strong> a case block. After that, subsequent cases will be processed until a <strong> <em>break</em> </strong> is encountered or the end of the <strong> <em>switch block</em> </strong> is reached. This capability may be purposely used to share common code across several scenarios.</li> <li>The <strong> <em>switch statement's</em> </strong> capacity to simplify code readability and maintenance is one of its fundamental advantages. Comparing a sequence of <strong> <em>nested if-else statements</em> </strong> to a <strong> <em>switch statement</em> </strong> when dealing with many situations can provide clearer, more organized code. Each case label gives the program a unique and unambiguous path to follow, improving the codebase's overall readability. It is very advantageous when working with extensive and complicated programs, where maintaining a <strong> <em>logical flow</em> </strong> is crucial.</li> <li>Another noteworthy benefit of the switch statement is <strong> <em>efficiency</em> </strong> . When done correctly, a <strong> <em>switch statement</em> </strong> may frequently be more effective than a succession of <strong> <em>if-else-if</em> </strong> This effectiveness results from the compiler's ability to optimize the switch statement to produce more effective machine code, which might lead to a quicker execution time. It's crucial to remember that the real speed improvements may differ based on the circumstance and compiler optimizations.</li> </ol> <h2>Limitations of Switch Statement</h2> <p>There are several limitations of the <strong> <em>switch statement</em> </strong> in C++. Some main limitations of the <strong> <em>switch statement</em> </strong> in C are as follows:</p> <ol class="points"> <li>The <strong> <em>switch statement</em> </strong> has several restrictions, so it's important to be aware of those as well as industry standards. For instance, the <strong> <em>switch statement's</em> </strong> expression must be of the <strong> <em>integral</em> </strong> or <strong> <em>enumeration type</em> </strong> . It limits its ability to be used with other data types like <strong> <em>strings</em> </strong> or <strong> <em>floating-point integers</em> </strong> . Additionally, variables or expressions cannot be used as case labels since each case label must reflect a constant value that is known at <strong> <em>compile-time</em> </strong> .</li> <li>It is best practice to add a default case in the <strong> <em>switch statement</em> </strong> to guarantee thorough case coverage. Instances where none of the preceding instances match the value of the phrase are handled by this case. When none of the predetermined situations apply, including a <strong> <em>default case</em> </strong> prevents unexpected behavior and offers a clear path of action.</li> </ol> <h2>Conclusion:</h2> <p>In conclusion, the <strong> <em>C++ switch statement</em> </strong> is a flexible construct that makes it easier for programs to handle a variety of scenarios. Its explicit <strong> <em>case labels</em> </strong> and succinct syntax make code easier to comprehend and maintain, especially in situations when there are many possible outcomes. The <strong> <em>switch statement</em> </strong> improves the organization of program logic by offering a <strong> <em>direct mapping</em> </strong> between <strong> <em>cases</em> </strong> and <strong> <em>actions</em> </strong> . </p> <p>The <strong> <em>switch statement</em> </strong> has advantages over an <strong> <em>if-else-if ladder</em> </strong> in terms of performance since the compiler can optimize it for <strong> <em>quicker execution</em> </strong> . Developers should be aware of its restrictions, such as the need for integral or enumeration expression types and constant case values.</p> <p>It is advised to provide a default case in the <strong> <em>switch statement</em> </strong> to manage mismatched circumstances and use it efficiently and gently. Programmers may take advantage of the switch statement's advantages to create better <strong> <em>organized, effective</em> </strong> , and <strong> <em>understandable</em> </strong> C++ code by following best practices and comprehending its intricacies.</p> <hr></'it>
Saída:
Enter a number: 55 Not 10, 20 or 30
Recursos da instrução Switch:
Existem diversas características do declaração de mudança em C++. Algumas características principais do declaração de mudança em C são os seguintes:
- O Cair em comportamento do C++ declaração de mudança é uma de suas principais características. O controle irá Cair em para o próximo caso se declaração de interrupção não está acostumado parar um bloco de caso. Depois disso, os casos subsequentes serão processados até que um quebrar é encontrado ou o fim do bloco de comutação é atingido. Esse recurso pode ser usado propositalmente para compartilhar código comum em vários cenários.
- O instrução switch a capacidade de simplificar a legibilidade e a manutenção do código é uma de suas vantagens fundamentais. Comparando uma sequência de instruções if-else aninhadas para um declaração de mudança ao lidar com muitas situações pode fornecer um código mais claro e organizado. Cada rótulo de caso fornece ao programa um caminho único e inequívoco a seguir, melhorando a legibilidade geral da base de código. É muito vantajoso quando se trabalha com programas extensos e complicados, onde a manutenção de um fluxo lógico é crucial.
- Outro benefício digno de nota da instrução switch é eficiência . Quando feito corretamente, um declaração de mudança muitas vezes pode ser mais eficaz do que uma sucessão de se-outro-se Essa eficácia resulta da capacidade do compilador de otimizar a instrução switch para produzir código de máquina mais eficaz, o que pode levar a um tempo de execução mais rápido. É crucial lembrar que as melhorias reais na velocidade podem diferir com base nas circunstâncias e nas otimizações do compilador.
Limitações da instrução Switch
Existem diversas limitações do declaração de mudança em C++. Algumas limitações principais do declaração de mudança em C são os seguintes:
- O declaração de mudança tem várias restrições, por isso é importante estar ciente delas e também dos padrões do setor. Por exemplo, o instrução switch a expressão deve ser do compreensivo ou tipo de enumeração . Limita sua capacidade de ser usado com outros tipos de dados, como cordas ou inteiros de ponto flutuante . Além disso, variáveis ou expressões não podem ser usadas como rótulos de caso, pois cada rótulo de caso deve refletir um valor constante que é conhecido no momento. tempo de compilação .
- É uma prática recomendada adicionar um caso padrão no declaração de mudança para garantir uma cobertura completa do caso. As instâncias em que nenhuma das instâncias anteriores corresponde ao valor da frase são tratadas por este caso. Quando nenhuma das situações pré-determinadas se aplicar, incluindo uma caso padrão evita comportamentos inesperados e oferece um caminho de ação claro.
Conclusão:
Em conclusão, o Instrução de mudança C++ é uma construção flexível que torna mais fácil para os programas lidarem com uma variedade de cenários. É explícito etiquetas de casos e a sintaxe sucinta facilita a compreensão e a manutenção do código, especialmente em situações em que há muitos resultados possíveis. O declaração de mudança melhora a organização da lógica do programa, oferecendo um mapeamento direto entre casos e ações .
O declaração de mudança tem vantagens sobre um escada if-else-if em termos de desempenho, já que o compilador pode otimizá-lo para execução mais rápida . Os desenvolvedores devem estar cientes de suas restrições, como a necessidade de tipos de expressões integrais ou de enumeração e valores de caso constantes.
É aconselhável fornecer um caso padrão no declaração de mudança para gerenciar circunstâncias incompatíveis e usá-las de maneira eficiente e suave. Os programadores podem aproveitar as vantagens da instrução switch para criar melhores organizado, eficaz , e compreensível Código C++ seguindo as melhores práticas e compreendendo suas complexidades.
'it>