Articles of instruction de commutation

Switch Case in c ++

Comment comparer un tableau de char en c ++ en utilisant switch-case? Voici une partie de mon code: char[256] buff; switch(buff){ case “Name”: printf(“%s”,buff); break; case “Number”: printf(“Number “%s”,buff); break; defaul : break } Je reçois le message d’erreur “erreur: la quantité de commutateurs n’est pas un entier” .Comment puis-je le résoudre?

La 5ème opération d’alimentation est plus rapide que l’instruction switch

Je travaille sur un problème pour lequel je dois renvoyer la cinquième puissance d’un chiffre compris entre 0 et 9 et je pensais pouvoir accélérer le programme en basculant int pow(int a){return a*a*a*a*a;} dehors pour int pow(int a){ switch(a){ case 0: return 0; break; case 1: return 1; break; case 2: return 32; break; case […]

Une variable définie dans un commutateur / cas conserve-t-elle sa valeur?

Je sais qu’il est possible de créer, mais pas d’initialiser, une variable à l’intérieur d’une instruction switch. Mais je me demande si une variable créée rest en mémoire lors des exécutions ultérieures de l’instruction switch? Je suppose que la variable nommée cnt est newley créée chaque fois que l’instruction switch est exécutée. Par conséquent, la […]

Changer la casse avec la variable membre dans la casse

J’essaie de trouver un moyen d’évaluer une instruction switch – case utilisant une variable membre dans la partie case. Je pensais qu’avoir une variable statique globale comme ci-dessous serait autorisé comme expression constante. Malheureusement, le compilateur me dit le contraire: error: ‘ll’ cannot appear in a constant-expression error: ‘.’ cannot appear in a constant-expression Y […]

Pourquoi ne puis-je pas utiliser des types non-intégraux avec switch

Parce que si je définis l’ operator== alors la comparaison sera possible: class My { int x; // … public: My(int); bool operator==(const My & y); // … }; //… My one = 1; switch (one) { case 1 : // anything default : // … } Mais ce n’est possible que pour les types […]

Pourquoi les déclarations de cas n’acceptent-elles que les constantes?

Quelle est la raison derrière le fait que les instructions switch en C ++ doivent être écrites avec des constantes? Jetons un coup d’oeil au code suivant: switch(variable) { case 1: case 2: case 3: case 4: //Code 1 break; case 5: case 6: case 7: case 8: //Code 2 break; default: //Code 3 break; […]

Pourquoi les instructions de commutateur C ++ sont-elles limitées aux expressions constantes?

Je voulais utiliser les fonctions macro dans les instructions switch avant de réaliser que les instructions devaient être constantes. Exemple (ne comstack pas): #define BAND_FIELD1(B) (10 * B + 1) … #define BAND_FIELD7(B) (10 * B + 7) int B = myField % 10; switch (myField) { case BAND_FIELD1(B): variable1[B] = 123; break; case BAND_FIELD7(B): […]

déclaration switch-case sans pause

D’après ce livre je lis : Q Que se passe-t-il si j’omets une pause dans une déclaration de commutation? A L’instruction break permet à l’exécution du programme de quitter la construction de commutateur. Sans cela, l’exécution continue d’évaluer les instructions de cas suivantes. Supposons que si j’ai des codes ressemblant à switch (option}{ case 1: […]

Instruction de commutation C ++

Récemment (hier hah) j’ai commencé à apprendre le C ++. J’essaie de faire une calculasortingce simple à pratiquer. J’ai utilisé une instruction switch afin d’appeler la bonne méthode (ou est-ce que sa fonction .. ne sait pas les nuances de c ++ …) de la classe; Cependant, le code ne sera pas compilé car j’utilise […]

Pourquoi ne puis-je pas avoir une variable dans l’instruction switch-case?

Voici mon code: bool Character::keyPress(char c) { switch(c) { case up_key: move(0, -1); break; case down_key: move(0, 1); break; case left_key: move(-1, 0); break; case right_key: move(1,0); break; default: return false; } return true; } Et le compilateur se plaint: error C2051: case expression not constant error C2051: case expression not constant error C2051: case […]