Modernes C++ programmieren

Okt 23, 2024

lst-0601-godb.cpp

//#(compile) c++; compiler:g132; options:-O3 -std=c++23; libs:-
// https://godbolt.org/z/cYsTo371z 
#include <iostream>
const int& a_oder_b(int auswahl) {
    static const int a = 42;
    static const int b = 73;
    if(auswahl==1)
        return a; // const& auf innere Variable a zurückgeben
    else
        return b; // const& auf innere Variable b zurückgeben
}
template<typename TYP>
TYP add(TYP a, TYP b) {
    return a + b;
}
int main() {
    auto res = add(
        a_oder_b(0),   // const int&
        a_oder_b(1) ); // const int&
    std::cout << res << "\n"; // Ausgabe: 115
}