0 Tage Serie
cpp / intermediate
Snippet

Multi-Case-Logik mit Fallthrough

Das Attribut [[fallthrough]] ist ein fortgeschrittenes Syntax-Feature, das dem Compiler mitteilt, dass ein fehlendes Break beabsichtigt ist, um Warnungen zu vermeiden und gleichzeitig Logik zwischen Switch-Cases zu teilen.

snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
void processCommand(int cmd) {
switch (cmd) {
case 1:
case 2:
std::cout << "Handling basic command..." << std::endl;
[[fallthrough]]; // Explicitly indicating intentional fallthrough
case 3:
std::cout << "Performing advanced processing..." << std::endl;
break;
default:
std::cout << "Unknown command." << std::endl;
}
}
int main() {
processCommand(1);
return 0;
}
Erklärung
1
[[fallthrough]];
Standard-Attribut zur Unterdrückung von Compiler-Warnungen über fehlende Break-Anweisungen.
2
case 1: case 2:
Das Stapeln von Cases ermöglicht es mehreren Eingaben, denselben initialen Codeblock auszulösen.