Modernes C++ programmieren

Okt 23, 2024

lst-0357-godb.cpp

//#(compile) c++; compiler:g132; options:-O3 -std=c++23; libs:-
// https://godbolt.org/z/8rr4WKo8d 
int hole_eingabe() {
    return 50; // oder lese was aus einer Datei oder so
}
constexpr auto berechne_1(int eingabe) {
    return eingabe * 2;
}
consteval auto berechne_2(int eingabe) {
    return eingabe * 2;
}
int main() {
    int eingabe = hole_eingabe();
    auto a = berechne_1(77);      // zur Übersetzungszeit ... vielleicht berechenbar
    auto b = berechne_1(eingabe); //  berechenbar, aber gültig
    auto c = berechne_2(77);      //  berechenbar
    auto d = berechne_2(eingabe); //                 (ERR)   nicht berechenbar, ungültig
}