c++ vector 下标
时间: 2023-10-20 13:08:00 浏览: 94
在C++中,vector是一种动态数组,可以通过下标操作来访问和修改其中的元素。但需要注意的是,在使用下标操作之前,必须确保vector中已经存在足够的元素,否则会发生错误。
引用中的例子展示了一个错误的使用方式,在空的vector上使用下标操作,会导致运行时错误。
正确的使用方式是,在使用下标操作之前,先通过push_back()函数向vector中添加元素。例如:
```cpp
vector<int> ivec; // 创建空的vector
for (vector<int>::size_type ix = 0; ix != 10; ++ix) {
ivec.push_back(ix); // 向vector中添加元素
}
```
引用中的例子展示了使用迭代器(iterator)遍历vector中的元素,并通过指针操作(*i)来访问和修改结构体中的成员变量。
引用是一个包含vector的C++程序的示例代码。
所以,c++ vector可以使用下标操作来访问和修改其中的元素,但需要确保vector中已经存在足够的元素。同时,也可以使用迭代器来遍历vector中的元素。
相关问题
c++ vector下标操作
在 C++ 中,可以使用下标操作符 "[]" 访问 vector 容器中的元素。下标从 0 开始,可以使用整数类型的表达式作为下标,例如:
```c++
std::vector<int> vec {1, 2, 3, 4, 5};
int x = vec[2]; // 访问第3个元素,即3
vec[4] = 6; // 修改第5个元素,将其赋值为6
```
需要注意的是,使用下标操作符访问 vector 中的元素时,应该确保下标值在容器的合法范围内,否则可能会导致程序崩溃或产生未定义的行为。可以使用 `std::vector::at()` 函数进行安全的下标访问,该函数会在下标越界时抛出 `std::out_of_range` 异常。例如:
```c++
std::vector<int> vec {1, 2, 3, 4, 5};
try {
int x = vec.at(10); // 访问不存在的下标,抛出异常
} catch (std::out_of_range& e) {
std::cerr << e.what() << std::endl;
}
```
c++ vector获取下标
在C++中,可以使用下标运算符`[]`来获取vector中的元素。下标从0开始,依次递增。下面是一个示例代码,演示如何使用下标来获取vector中的元素[^1]:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 获取第三个元素
int element = vec;
std::cout << "Element at index 2: " << element << std::endl; // 输出:3
return 0;
}
```
在上面的代码中,我们定义了一个名为`vec`的vector,并初始化它。然后,我们使用下标运算符`[]`来获取vector中的第三个元素,并将其存储在`element`变量中。最后,我们将该元素打印出来。