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

来自cppreference.com

 
 
 
 
constexpr reference operator[]( size_type pos );
(1)(C++26 起)
constexpr const_reference operator[]( size_type pos ) const;
(2)(C++26 起)

返回位于指定位置 pos 的元素的引用。 如果实现未加固,则不进行边界检查。

如果 pos < size()false,那么:

  • 如果实现是硬化实现,那么就会发生契约违背。并且契约违背处理函数在“观察”求值语义下返回时行为未定义。
  • 如果实现不是硬化实现,那么行为未定义。

参数

pos-要返回的元素的位置

返回值

到所需元素的引用。

复杂度

常数。

注解

std::map::operator[] 不同,此运算符不会向容器插入新元素。若实现未被加固,则通过此运算符访问不存在的元素是未定义行为。

示例

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

#include <inplace_vector>
#include <iostream>
 
int main()
{
    std::inplace_vector<int, 4> numbers{2, 4, 6, 8};
 
    std::cout << "第二个元素:" << numbers[1] << '\n';
 
    numbers[0] = 5;
 
    std::cout << "所有数:";
    for (auto i : numbers)
        std::cout << ' ' << i;
    std::cout << '\n';
}

输出:

第二个元素:4
所有数:5 4 6 8

参阅

带越界检查访问指定的元素
(公开成员函数)