Namensräume
Varianten
Aktionen

std::get(std::array)

Von cppreference.com
< cpp‎ | container‎ | array
 
 
 
 
Definiert in der Header-Datei <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 mittels Tuple-ähnlicher Schnittstelle.

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

Inhalt

[bearbeiten] Parameter

a - Array, dessen Inhalt extrahiert werden soll

[bearbeiten] Rückgabewert

Eine Referenz auf das I-te Element von a.

[bearbeiten] Komplexität

Konstant.

[bearbeiten] 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;
 
    // set values:
    get<0>(a) = 1, get<1>(a) = 2, get<2>(a) = 3;
 
    // get values:
    std::cout << '(' << get<0>(a) << ',' << get<1>(a) << ',' << get<2>(a) << ")\n";
}

Ausgabe

(1,2,3)

[bearbeiten] 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 werden hinzugefügt

[bearbeiten] Siehe auch

Strukturierte Bindung (C++17) bindet die angegebenen Namen an Unterobjekte oder Tuple-Elemente des Initialisierers[bearbeiten]
Greift auf ein bestimmtes Element zu
(public member function) [edit]
Greift mit Überprüfung auf ein bestimmtes Element zu
(public member function) [edit]
greift auf ein Tupel-Element gemäß Spezifikation zu
(function template) [bearbeiten]
greift auf ein Element eines pair zu
(Funktionsvorlage) [edit]
liest den Wert des variants anhand des Index oder des Typs (wenn der Typ eindeutig ist), wirft bei Fehler
(function template) [bearbeiten]
erhält Iterator oder Sentinel von einem std::ranges::subrange
(Funktionsvorlage) [bearbeiten]
erhält eine Referenz auf den realen oder imaginären Teil von std::complex
(function template) [edit]