Namespaces
Variants

std:: get (std::array)

From cppreference.net
Definiert in Header <array>
template < std:: size_t I, class T, std:: size_t N >
T & get ( std:: array < T,N > & a ) noexcept ;
(1) (seit C++11)
(constexpr seit C++14)
template < std:: size_t I, class T, std:: size_t N >
T && get ( std:: array < T,N > && a ) noexcept ;
(2) (seit C++11)
(constexpr seit C++14)
template < std:: size_t I, class T, std:: size_t N >
const T & get ( const std:: array < T,N > & a ) noexcept ;
(3) (seit C++11)
(constexpr seit C++14)
template < std:: size_t I, class T, std:: size_t N >
const T && get ( const std:: array < T,N > && a ) noexcept ;
(4) (seit C++11)
(constexpr seit C++14)

Extrahiert das I te Element aus dem Array unter Verwendung der tuple-like Schnittstelle.

I muss ein ganzzahliger Wert im Bereich [ 0 , N ) sein. Dies wird zur Kompilierzeit erzwungen, im Gegensatz zu at() oder operator[] .

Inhaltsverzeichnis

Parameter

a - Array, dessen Inhalt extrahiert werden soll

Rückgabewert

Ein Verweis auf das I te Element von a .

Komplexität

Konstante.

Beispiel

#include <array>
#include <iostream>
constexpr std::array v{1, 2, 3};
static_assert(get<0>(v) == 1 && get<1>(v) == 2 && get<2>(v) == 3);
int main()
{
    std::array<int, 3> a;
    // Werte setzen:
    get<0>(a) = 1, get<1>(a) = 2, get<2>(a) = 3;
    // Werte abrufen:
    std::cout << '(' << get<0>(a) << ',' << get<1>(a) << ',' << get<2>(a) << ")\n";
}

Ausgabe:

(1,2,3)

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 2485 C++11 es gibt keine Überladungen für const array&& die Überladungen wurden hinzugefügt

Siehe auch

Structured binding (C++17) bindet die angegebenen Namen an Teilobjekte oder Tupel-Elemente des Initialisierers
greift auf das angegebene Element zu
(public member function)
greift auf das angegebene Element mit Grenzprüfung zu
(public member function)
Tupel greift auf das angegebene Element zu
(function template)
greift auf ein Element eines pair zu
(function template)
liest den Wert der Variante anhand des Index oder Typs (falls der Typ eindeutig ist), wirft bei Fehler
(function template)
erhält Iterator oder Sentinel aus einem std::ranges::subrange
(function template)
erhält eine Referenz auf Real- oder Imaginärteil aus einem std::complex
(function template)