Tuples
Use case
Return multiple values from a function.
Explanation
std::tuple bundles multiple values of different types. Use std::make_tuple to create, std::get<N> to access by index.
Code
#include <cstdint>
#include <iostream>
#include <tuple>
std::tuple<bool, uint64_t, const char *> findEntry() {
return std::make_tuple(true, 0x10001000, "_main");
}
int main() {
auto result = findEntry();
std::cout << "Found: " << std::boolalpha << std::get<0>(result) << "\n";
std::cout << "Entry: 0x" << std::hex << std::get<1>(result) << "\n";
std::cout << "Symbol: " << std::get<2>(result) << "\n";
return 0;
}
Output
$ ./src/c++11/build/tuples
Found: true
Entry: 0x10001000
Symbol: _main