std::pair::pair
Aus cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
<metanoindex/>
<tbody> </tbody> pair(); constexpr pair(); |
(1) | (bis C + +11) (seit C++11) |
pair( const T1& x, const T2& y ); |
(2) | |
template< class U1, class U2 > pair( U1&& x, U2&& y ); |
(3) | (seit C++11) |
template< class U1, class U2 > pair( const pair<U1,U2>& p ); |
(4) | |
template< class U1, class U2 > pair( pair<U1,U2>&& p ); |
(5) | (seit C++11) |
template< class... Args1, class... Args2 > pair( std::piecewise_construct_t, std::tuple<Args1...> first_args, std::tuple<Args2...> second_args ); |
(6) | (seit C++11) |
pair( const pair& p ) = default; |
(7) | |
pair( pair&& p ) = default; |
(8) | (seit C++11) |
Erzeugt ein neues Paar .
Original:
Constructs a new pair.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
1)
Standardkonstruktor. Value-initialisiert beide Elemente des Paares,
first und second .Original:
Default constructor. Value-initializes both elements of the pair,
first and second.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
2)
Initialisiert
first mit x und second mit y .Original:
Initializes
first with x and second with y.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
3)
Initialisiert
first mit std::forward<U1>(x) und second mit std::forward<U2>(y) .Original:
Initializes
first with std::forward<U1>(x) and second with std::forward<U2>(y).The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
4)
Initialisiert
first mit p.first und second mit p.second . Original:
Initializes
first with p.first and second with p.second. The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
5)
Initialisiert
first mit std::move<U1>(p.first) und second mit std::move<U2>(p.second) .Original:
Initializes
first with std::move<U1>(p.first) and second with std::move<U2>(p.second).The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
6)
Leitet die Elemente
first_args an den Konstruktor first und leitet die Elemente second_args an den Konstruktor second. Dies ist der einzige Nicht-Standard-Konstruktor, verwendet, um ein Paar von nicht-kopierbaren nicht beweglichen Typen erstellt werden können .Original:
Forwards the elements of
first_args to the constructor of first and forwards the elements of second_args to the constructor of second. This is the only non-default constructor that can be used to create a pair of non-copyable non-movable types.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
7)
Copy-Konstruktor wird implizit generiert .
Original:
Copy constructor is implicitly generated.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
8)
Verschieben Konstruktor wird implizit erzeugt .
Original:
Move constructor is implicitly generated.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Parameter
| x | - | Wert, um das erste Element von diesem Paar zu initialisieren
Original: value to initialize the first element of this pair The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| y | - | Wert, um das zweite Element von diesem Paar zu initialisieren
Original: value to initialize the second element of this pair The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| p | - | Wertepaar verwendet, um beide Elemente dieses Paares zu initialisieren
Original: pair of values used to initialize both elements of this pair The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| first_args | - | Tupel von Konstruktorargumente um das erste Element dieses Paares zu initialisieren
Original: tuple of constructor arguments to initialize the first element of this pair The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| second_args | - | Tupel von Konstruktorargumente um das zweite Element dieses Paares zu initialisieren
Original: tuple of constructor arguments to initialize the second element of this pair The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Beispiel
#include <utility>
#include <string>
#include <complex>
#include <tuple>
#include <iostream>
int main()
{
std::pair<int, float> p1;
std::cout << "Value-initialized: "
<< p1.first << ", " << p1.second << '\n';
std::pair<int, double> p2(42, 0.123);
std::cout << "Initialized with two values: "
<< p2.first << ", " << p2.second << '\n';
std::pair<char, int> p4(p2);
std::cout << "Implicitly converted: "
<< p4.first << ", " << p4.second << '\n';
std::pair<std::complex<double>, std::string> p6(
std::piecewise_construct,
std::forward_as_tuple(0.123, 7.7),
std::forward_as_tuple(10, 'a'));
std::cout << "Piecewise constructed: "
<< p6.first << ", " << p6.second << '\n';
}
Output:
Value-initialized: 0, 0
Initialized with two values: 42, 0.123
Implicitly converted: *, 0
Piecewise constructed: (0.123,7.7), aaaaaaaaaa
Siehe auch
schafft eine pair Objekt des Typs, durch das Argument definiertOriginal: creates a pair object of type, defined by the argument typesThe text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Funktions-Template) | |