std::vector<T,Allocator>::operator[]

< cpp‎ | container‎ | vector

reference operator[]( size_type pos );
(C++20 前)
constexpr reference operator[]( size_type pos );
(C++20 起)
const_reference operator[]( size_type pos ) const;
(C++20 前)
constexpr const_reference operator[]( size_type pos ) const;
(C++20 起)

返回位于指定位置 pos 的元素的引用。不进行边界检查。

参数

pos - 要返回的元素的位置

返回值

到所需元素的引用。

复杂度

常数。

注解

不同于 std::map::operator[] ,此运算符决不插入新元素到容器。通过此运算符访问不存在的元素是未定义行为。

示例

下列代码使用 operator[] 读取并写入 std::vector<int>

#include <vector>
#include <iostream>
 
int main()
{
    std::vector<int> 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';
}

输出:

Second element: 4
All numbers: 5 4 6 8

参阅

访问指定的元素,同时进行越界检查
(公开成员函数)