📅  最后修改于: 2023-12-03 14:39:53.704000             🧑  作者: Mango
在 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++ 官方文档。