std::tuple – cppreference.com
Aus cppreference.com
<tbody> </tbody>
| definiert in Header <tuple> |
||
|
|
(seit C++11) | |
Das Klassentemplate std::tuple ist eine Collection fester Größe mit heterogenen Werte. Es ist die Verallgemeinerung von std::pair .
Original:
Class template std::tuple is a fixed-size collection of heterogeneous values. It is a generalization of std::pair.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Member-Funktionen
baut eine neue Original: constructs a new The text has been machine-translated via Google Translate. (öffentliche Elementfunktion) | |
ordnet den Inhalt eines Original: assigns the contents of one The text has been machine-translated via Google Translate. (öffentliche Elementfunktion) | |
tauscht die Inhalte von zwei Original: swaps the contents of two The text has been machine-translated via Google Translate. (öffentliche Elementfunktion) | |
Non-Member-Funktionen
erzeugt eine Original: creates a The text has been machine-translated via Google Translate. (Funktions-Template) [edit] | |
erzeugt ein Original: creates a The text has been machine-translated via Google Translate. (Funktions-Template) [edit] | |
erzeugt ein Original: creates a The text has been machine-translated via Google Translate. (Funktions-Template) [edit] | |
erzeugt ein Original: creates a The text has been machine-translated via Google Translate. (Funktions-Template) [edit] | |
Zugriff auf das angegebene Element des Tupels Original: tuple accesses specified element The text has been machine-translated via Google Translate. (Funktions-Template) [edit] | |
lexikographisch vergleicht die Werte in dem Tupel Original: lexicographically compares the values in the tuple The text has been machine-translated via Google Translate. (Funktions-Template) [edit] | |
(C++11) |
spezialisiert den std::swap Algorithmus Original: specializes the std::swap algorithm The text has been machine-translated via Google Translate. (Funktions-Template) [edit] |
Helper-Klassen
erhält die Größe der Original: obtains the size of The text has been machine-translated via Google Translate. (class Template-Spezialisierung) [edit] | |
erhält den Typ des angegebenen Elements Original: obtains the type of the specified element The text has been machine-translated via Google Translate. (class Template-Spezialisierung) [edit] | |
spezialisiert die std::uses_allocator Typ Merkmal Original: specializes the std::uses_allocator type trait The text has been machine-translated via Google Translate. (class Template-Spezialisierung) [edit] | |
Platzhalter, um ein Element zu überspringen, wenn Auspacken einer Original: placeholder to skip an element when unpacking a The text has been machine-translated via Google Translate. (konstanten) [edit] | |
Beispiel
#include <tuple> #include <iostream> #include <string> #include <stdexcept> std::tuple<double, char, std::string> get_student(int id) { if (id == 0) return std::make_tuple(3.8, 'A', "Lisa Simpson"); if (id == 1) return std::make_tuple(2.9, 'C', "Milhouse Van Houten"); if (id == 2) return std::make_tuple(1.7, 'D', "Ralph Wiggum"); throw std::invalid_argument("id"); } int main() { auto student0 = get_student(0); std::cout << "ID: 0, " << "GPA: " << std::get<0>(student0) << ", " << "grade: " << std::get<1>(student0) << ", " << "name: " << std::get<2>(student0) << '\n'; double gpa1; char grade1; std::string name1; std::tie(gpa1, grade1, name1) = get_student(1); std::cout << "ID: 1, " << "GPA: " << gpa1 << ", " << "grade: " << grade1 << ", " << "name: " << name1 << '\n'; }
Output:
ID: 0, GPA: 3.8, grade: A, name: Lisa Simpson ID: 1, GPA: 2.9, grade: C, name: Milhouse Van Houten