std::array<T,N>::operator[] - cppreference.com

From cppreference.com

referenceoperator[](size_typepos); (1)(since C++11)
(constexpr since C++17)const_referenceoperator[](size_typepos)const; (2)(since C++11)
(constexpr since C++14)Returns a reference to the element at specified location pos. No bounds checking is performed, unless the implementation is hardened(since C++26).

If pos<size() is false, the behavior is undefined.

(until C++26)If pos<size() is false:

If the implementation is

hardened

, a

contract violation

occurs.

If the implementation is not hardened, the behavior is undefined.

(since C++26)Parameters

pos - position of the element to return Return value

Reference to the requested element.

Complexity

Constant.

Notes

Unlike

std::map::operator[]

, this operator never inserts a new element into the container. Accessing a nonexistent element through this operator is undefined behavior, unless the implementation is hardened(since C++26).

Example

The following code uses operator[] to read from and write to a std::array<int,N>:

Run this code

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

Second element: 4 All numbers: 5 4 6 8 See also

access specified element with bounds checking
(public member function)

[edit]