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
, a
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
, 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)