El declaració de commutació en C++ és un potent estructura de control que us permet executar diversos segments de codi basats en el resultat d'una expressió. Ofereix un substitut sofisticat i eficaç per utilitzar una successió de declaracions if-else-if quan has de prendre una decisió entre diverses possibilitats.
La sentència switch C++ executa una sentència a partir de diverses condicions. És com la declaració d'escala if-else-if en 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; }
Exemple de commutació 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>
Sortida:
Enter a number: 55 Not 10, 20 or 30
Característiques de la declaració Switch:
Hi ha diverses característiques del declaració de commutació en C++. Algunes característiques principals del declaració de commutació en C són els següents:
- El caiguda comportament del C++ declaració de commutació és una de les seves característiques principals. El control serà caure a través al següent cas si a declaració de ruptura no està acostumat Atura un bloc de casos. Després d'això, els casos posteriors es tramitaran fins a l'a trencar es troba o el final de la bloc de commutació s'arriba. Aquesta capacitat es pot utilitzar expressament per compartir codi comú en diversos escenaris.
- El declaració de commutació la capacitat de simplificar la llegibilitat i el manteniment del codi és un dels seus avantatges fonamentals. Comparant una seqüència de declaracions if-else imbricades a a declaració de commutació quan es tracta de moltes situacions pot proporcionar un codi més clar i organitzat. Cada etiqueta de cas ofereix al programa un camí únic i inequívoc a seguir, millorant la llegibilitat general de la base de codi. És molt avantatjós quan es treballa amb programes extensos i complicats, on es manté un flux lògic és crucial.
- Un altre avantatge destacable de la declaració switch és eficiència . Quan es fa correctament, a declaració de commutació sovint pot ser més eficaç que una successió de si-una altra cosa-si Aquesta eficàcia resulta de la capacitat del compilador d'optimitzar la instrucció switch per produir un codi màquina més eficaç, cosa que pot conduir a un temps d'execució més ràpid. És crucial recordar que les millores de velocitat real poden diferir segons la circumstància i les optimitzacions del compilador.
Limitacions de la declaració Switch
Hi ha diverses limitacions de la declaració de commutació en C++. Algunes limitacions principals de la declaració de commutació en C són els següents:
- El declaració de commutació té diverses restriccions, per la qual cosa és important tenir-ne en compte, així com els estàndards de la indústria. Per exemple, el declaració de commutació l'expressió ha de ser de la integral o tipus d'enumeració . Limita la seva capacitat d'utilitzar-se amb altres tipus de dades com cordes o nombres enters de coma flotant . A més, les variables o expressions no es poden utilitzar com a etiquetes de cas, ja que cada etiqueta de cas ha de reflectir un valor constant que es coneix a temps de compilació .
- La millor pràctica és afegir un cas predeterminat al fitxer declaració de commutació per garantir una cobertura exhaustiva del cas. Les instàncies en què cap de les instàncies anteriors coincideix amb el valor de la frase es gestionen en aquest cas. Quan no s'aplica cap de les situacions predeterminades, inclosa a cas predeterminat evita comportaments inesperats i ofereix un camí clar d'acció.
Conclusió:
En conclusió, el Declaració de commutació C++ és una construcció flexible que facilita que els programes gestionen una varietat d'escenaris. És explícit etiquetes de casos i la sintaxi concisa fan que el codi sigui més fàcil de comprendre i mantenir, especialment en situacions en què hi ha molts resultats possibles. El declaració de commutació millora l'organització de la lògica del programa oferint a mapeig directe entre casos i accions .
El declaració de commutació té avantatges sobre un si-més-si escala en termes de rendiment, ja que el compilador pot optimitzar-lo execució més ràpida . Els desenvolupadors haurien de ser conscients de les seves restriccions, com ara la necessitat de tipus d'expressió integral o d'enumeració i valors de minúscules i minúscules constants.
Es recomana proporcionar un cas predeterminat al declaració de commutació per gestionar les circumstàncies no coincidents i utilitzar-lo de manera eficient i suau. Els programadors poden aprofitar els avantatges de la declaració switch per crear-ne millor organitzat, efectiu , i comprensible Codi C++ seguint les millors pràctiques i comprenent les seves complexitats.
'it>