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