Namespaces
Variants

std::array<T,N>:: operator[]

From cppreference.net

reference operator [ ] ( size_type pos ) ;
(1) (seit C++11)
(constexpr seit C++17)
const_reference operator [ ] ( size_type pos ) const ;
(2) (seit C++11)
(constexpr seit C++14)

Gibt eine Referenz auf das Element an der angegebenen Position pos zurück.

Wenn pos < size ( ) false ist, ist das Verhalten undefiniert.

(bis C++26)

Wenn pos < size ( ) false ist:

  • Wenn die Implementierung gehärtet ist, tritt eine Vertragsverletzung auf. Wenn der Vertragsverletzungs-Handler unter "observe"-Auswertungssemantik zurückkehrt, ist das Verhalten undefiniert.
  • Wenn die Implementierung nicht gehärtet ist, ist das Verhalten undefiniert.
(seit C++26)

Inhaltsverzeichnis

Parameter

pos - Position des zurückzugebenden Elements

Rückgabewert

Referenz auf das angeforderte Element.

Komplexität

Konstante.

Hinweise

Im Gegensatz zu std::map::operator[] fügt dieser Operator niemals ein neues Element in den Container ein. Der Zugriff auf ein nicht vorhandenes Element über diesen Operator ist undefiniertes Verhalten , sofern die Implementierung nicht gehärtet ist (since C++26) .

Beispiel

Der folgende Code verwendet den operator [ ] zum Lesen aus und Schreiben in ein std:: array < int , N > :

#include <array>
#include <iostream>
int main()
{
    std::array<int, 4> numbers{2, 4, 6, 8};
    std::cout << "Second element: " << numbers[1] << '\n';
    numbers[0] = 5;
    std::cout << "All numbers:";
    for (auto i : numbers)
        std::cout << ' ' << i;
    std::cout << '\n';
}

Ausgabe:

Second element: 4
All numbers: 5 4 6 8

Siehe auch

Zugriff auf spezifisches Element mit Grenzprüfung
(öffentliche Elementfunktion)