📜  C++ Vector.operator[]()函数(1)

📅  最后修改于: 2023-12-03 14:39:53.704000             🧑  作者: Mango

C++ Vector.operator函数

简介

在 C++ 中,std::vector 是一种动态数组,它提供了一系列方便的成员函数来操作数组元素。Vector.operator[]() 函数是 std::vector 类的一个成员函数,它允许通过索引访问存储在 vector 对象中的元素。

语法

operator[] 函数的语法如下所示:

reference operator[](size_type pos);
const_reference operator[](size_type pos) const;

这里的 pos 是一个非负整数,代表要访问的元素的索引。reference 表示对可修改的元素的引用,const_reference 表示对只读的元素的引用。

功能

operator[] 函数用于根据索引访问 vector 对象中的元素,并返回对应位置的元素的引用。索引从 0 开始。

示例

下面是一个示例程序,演示了如何使用 operator[] 函数来访问 vector 中的元素:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> numbers = { 1, 2, 3, 4, 5 };

    // 访问 vector 中的元素
    std::cout << "numbers[0]: " << numbers[0] << std::endl;
    std::cout << "numbers[2]: " << numbers[2] << std::endl;

    // 修改 vector 中的元素
    numbers[3] = 100;
    std::cout << "numbers[3]: " << numbers[3] << std::endl;

    return 0;
}

输出结果:

numbers[0]: 1
numbers[2]: 3
numbers[3]: 100
注意事项
  • 如果使用 operator[] 函数时提供的索引超出了 vector 的有效范围,将会导致未定义行为,可能会引发异常或产生意外结果。因此,在使用之前,应该先确保索引的有效性。
  • operator[] 函数没有进行边界检查,不会自动扩容 vector 的大小,如果索引超出范围,需要手动进行处理。
  • 如果希望在访问元素时进行边界检查,并且能够自动扩容 vector 的大小,可以使用 vector.at() 函数来替代 operator[] 函数。

更多关于 std::vector 类的成员函数以及使用方法的详细信息,请参考 C++ 官方文档。