Bibliothèque de tuples C ++ - forward_as_tuple

La description

Il construit un objet tuple avec des références rvalue aux éléments dans args appropriés pour être transmis comme argument à une fonction.

Déclaration

Voici la déclaration pour std :: forward_as_tuple.

C ++ 98

template<class... Types>
   tuple<Types&&...> forward_as_tuple (Types&&... args) noexcept;

C ++ 11

template<class... Types>
   tuple<Types&&...> forward_as_tuple (Types&&... args) noexcept;

C ++ 14

template<class... Types>
   constexpr tuple<Types&&...> forward_as_tuple (Types&&... args) noexcept;

Paramètres

args - Il contient la liste des éléments que le tuple construit doit contenir.

Valeur de retour

Il renvoie un objet tuple du type approprié pour contenir des arguments.

Des exceptions

No-throw guarantee - cette fonction membre ne lève jamais d'exceptions.

Courses de données

Aucun introduit par cet appel.

Exemple

Dans l'exemple ci-dessous pour std :: forward_as_tuple.

#include <iostream>
#include <tuple>
#include <string>

void print_pack (std::tuple<std::string&&,int&&> pack) {
   std::cout << std::get<0>(pack) << ", " << std::get<1>(pack) << '\n';
}

int main() {
   std::string str ("Tutorialspoint.com");
   print_pack (std::forward_as_tuple(str+" sairamkrishna",25));
   print_pack (std::forward_as_tuple(str+" Gopal",22));
   print_pack (std::forward_as_tuple(str+" Ram",30));
   return 0;
}

La sortie devrait être comme ça -

Tutorialspoint.com sairamkrishna, 25
Tutorialspoint.com Gopal, 22
Tutorialspoint.com Ram, 30