Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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;
}

View on GitHub.

Output

$ ./src/c++11/build/tuples
Found: true
Entry: 0x10001000
Symbol: _main