example5_compile-time_index_caching.cpp

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#include <iostream>
#include <tuple>

template<std::size_t I, typename... Args>
void printTupleElement(const std::tuple<Args...>& t) {
    if constexpr (I < sizeof...(Args)) {
        std::cout << "Element " << I << ": " << std::get<I>(t) << std::endl;
        printTupleElement<I + 1>(t);
    }
}

int main() {
    std::tuple<int, double, char, std::string> myTuple(42, 3.14, 'A', "Hello");
    printTupleElement<0>(myTuple);

    return 0;
}
Back to std_get