cpp / intermediate
Snippet
Logische Kurzschlussauswertung in Kontrollstrukturen
C++ verwendet die Kurzschlussauswertung (Short-Circuit Evaluation) für die logischen Operatoren UND (&&) und ODER (||). Wenn der erste Operand eines UND falsch ist, wird der zweite nicht ausgewertet. Dies ist nützlich, um Pointer zu prüfen, bevor sie dereferenziert werden.
snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>bool isSecure();bool hasAccess();void validateUser() {if (isSecure() && hasAccess()) {std::cout << "Access granted" << std::endl;} else {// if isSecure() is false, hasAccess() is never even calledstd::cout << "Access denied" << std::endl;}}
Erklärung
1
if (isSecure() && hasAccess())
Die zweite Funktion 'hasAccess' wird nur ausgeführt, wenn 'isSecure' true zurückgibt.