logo

C++ switch

Det skifte erklæring i C++ er en potent kontrolstruktur der giver dig mulighed for at køre flere kodesegmenter baseret på resultatet af et udtryk. Det tilbyder en sofistikeret og effektiv erstatning for at bruge en række af if-else-if-udsagn når du skal træffe en beslutning mellem flere muligheder.

C++ switch-sætningen udfører én sætning fra flere forhold. Det er ligesom if-else-if ladder statement i 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; } 

Cpp Switch 1

Eksempel på C++ switch

 #include using namespace std; int main () { int num; cout&lt;&gt;num; switch (num) { case 10: cout&lt;<'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&apos;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&apos;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&apos;s ability to optimize the switch statement to produce more effective machine code, which might lead to a quicker execution time. It&apos;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&apos;s important to be aware of those as well as industry standards. For instance, the <strong> <em>switch statement&apos;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&apos;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>

Produktion:

 Enter a number: 55 Not 10, 20 or 30 

Funktioner af Switch Statement:

Der er flere funktioner i skifte erklæring i C++. Nogle hovedtræk ved skifte erklæring i C er som følger:

  1. Det falder gennem opførsel af C++ skifte erklæring er en af ​​dens nøglefunktioner. Kontrollen vil falder gennem til næste sag, hvis en pauseerklæring ikke er vant til hold op en sagsblok. Herefter vil efterfølgende sager blive behandlet indtil a pause er stødt på eller slutningen af skifte blok er nået. Denne funktion kan med vilje bruges til at dele fælles kode på tværs af flere scenarier.
  2. Det skifte erklæring kapacitet til at forenkle kodelæsbarhed og vedligeholdelse er en af ​​dens grundlæggende fordele. Sammenligning af en sekvens af indlejrede if-else-udsagn til en skifte erklæring når man håndterer mange situationer kan give klarere, mere organiseret kode. Hver case-label giver programmet en unik og utvetydig vej at følge, hvilket forbedrer kodebasens overordnede læsbarhed. Det er meget fordelagtigt, når man arbejder med omfattende og komplicerede programmer, hvor man vedligeholder en logisk flow er afgørende.
  3. En anden bemærkelsesværdig fordel ved switch-erklæringen er effektivitet . Når det er gjort korrekt, a skifte erklæring kan ofte være mere effektiv end en række af hvis-andet-hvis Denne effektivitet er resultatet af compilerens evne til at optimere switch-sætningen for at producere mere effektiv maskinkode, hvilket kan føre til en hurtigere eksekveringstid. Det er afgørende at huske, at de reelle hastighedsforbedringer kan variere afhængigt af omstændighederne og compiler-optimeringer.

Begrænsninger af Switch Statement

Der er flere begrænsninger ved skifte erklæring i C++. Nogle hovedbegrænsninger af skifte erklæring i C er som følger:

  1. Det skifte erklæring har flere begrænsninger, så det er vigtigt at være opmærksom på disse såvel som industristandarder. For eksempel skifte erklæring udtryk skal være af omfattende eller opregningstype . Det begrænser dens evne til at blive brugt med andre datatyper som f.eks strenge eller heltal med flydende komma . Derudover kan variabler eller udtryk ikke bruges som kasusetiketter, da hver kasuslabel skal afspejle en konstant værdi, der er kendt ved kompileringstid .
  2. Det er bedste praksis at tilføje en standardsag i skifte erklæring for at sikre grundig sagsdækning. Forekomster, hvor ingen af ​​de foregående forekomster matcher værdien af ​​sætningen, håndteres af denne sag. Når ingen af ​​de forudbestemte situationer gælder, herunder en standard tilfælde forhindrer uventet adfærd og tilbyder en klar handlingsvej.

Konklusion:

Afslutningsvis C++ switch-erklæring er en fleksibel konstruktion, der gør det lettere for programmer at håndtere en række forskellige scenarier. Den er eksplicit sagsetiketter og kortfattet syntaks gør kode lettere at forstå og vedligeholde, især i situationer, hvor der er mange mulige udfald. Det skifte erklæring forbedrer tilrettelæggelsen af ​​programlogikken ved at tilbyde en direkte kortlægning mellem sager og handlinger .

Det skifte erklæring har fordele i forhold til en hvis-andet-hvis stigen i forhold til ydeevne, da compileren kan optimere den til hurtigere udførelse . Udviklere bør være opmærksomme på dets begrænsninger, såsom behovet for integrale eller opregningsudtrykstyper og konstante kasusværdier.

Det tilrådes at angive en standardsag i skifte erklæring at håndtere uoverensstemmende omstændigheder og bruge det effektivt og skånsomt. Programmører kan drage fordel af switch-erklæringens fordele til at skabe bedre organiseret, effektiv , og forståelig C++ kode ved at følge bedste praksis og forstå dens forviklinger.