定义一个STL容器vector,任意输入部分数据,并使用下标访问容器vector中的数据用C++
时间: 2024-09-13 07:02:44 浏览: 51
C++(STL库)之顺序容器vector的使用
5星 · 资源好评率100%
在C++中,`vector`是一个序列容器,它能够存储任意类型的对象。`vector`内部以数组的形式实现,能够在运行时动态地改变大小。下面是一个定义`vector`容器并使用下标访问数据的例子:
```cpp
#include <iostream>
#include <vector>
int main() {
// 定义一个int类型的vector容器
std::vector<int> vec;
// 向vector中添加数据
vec.push_back(10); // 添加元素10
vec.push_back(20); // 添加元素20
vec.push_back(30); // 添加元素30
// 使用下标访问容器中的数据
// 注意:下标从0开始
std::cout << "第一个元素: " << vec[0] << std::endl; // 输出: 第一个元素: 10
std::cout << "第二个元素: " << vec[1] << std::endl; // 输出: 第二个元素: 20
std::cout << "第三个元素: " << vec[2] << std::endl; // 输出: 第三个元素: 30
return 0;
}
```
在上述代码中,我们首先包含了`<iostream>`和`<vector>`头文件,分别用于输入输出和使用`vector`容器。然后我们定义了一个名为`vec`的`vector<int>`类型容器,并使用`push_back`方法添加了三个整数元素。通过使用下标运算符`[]`,我们访问并输出了容器中的元素。
需要注意的是,使用下标访问`vector`中的元素时,下标必须是有效的,否则会导致未定义行为。为了安全地访问元素,应当使用`at`成员函数,它会进行范围检查:
```cpp
std::cout << "第三个元素: " << vec.at(2) << std::endl; // 使用at函数安全访问
```
使用`at`函数时,如果下标超出了范围,程序会抛出`std::out_of_range`异常。
阅读全文