0 Tage Serie
cpp / intermediate
Snippet

Beabsichtigter Switch-Durchlauf

Ein Switch-Fallthrough tritt auf, wenn ein Case nicht mit einem Break endet. Obwohl dies oft ein Bug ist, kann es für hierarchische Logik nützlich sein. Das Attribut [[fallthrough]] teilt dem Compiler und anderen Entwicklern explizit mit, dass dieses Verhalten beabsichtigt ist.

snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
void handlePermissions(int securityLevel) {
switch (securityLevel) {
case 3:
std::cout << "Admin rights granted.\n";
[[fallthrough]]; // C++17 attribute to suppress warnings
case 2:
std::cout << "Editor rights granted.\n";
[[fallthrough]];
case 1:
std::cout << "Viewer rights granted.\n";
break;
default:
std::cout << "Access denied.\n";
}
}
Erklärung
1
[[fallthrough]];
Ein Attribut, das angibt, dass der Übergang zum nächsten Case ohne Break beabsichtigt ist.