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 fallthroughcase 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.