当前位置:实例文章 » 其他实例» [文章]【C++STL标准库】序列容器之array与vector

【C++STL标准库】序列容器之array与vector

发布人:shili8 发布时间:2025-02-25 22:20 阅读次数:0

**序列容器之array与vector**

在 C++ 中,序列容器(Sequence Containers)是指能够存储一系列元素的数据结构。C++ 标准库提供了几个序列容器类,其中包括 `array` 和 `vector`。这两种容器都用于存储一组元素,但它们有不同的特性和使用方式。

**1. array**

`array` 是 C++11 引入的一种新类型的序列容器,它是 C++ 中最基本的序列容器之一。它提供了一种简单、轻量级的数组实现,能够存储一组元素。

###语法

cpptemplate <typename T, size_t N>
class array;


其中 `T` 是元素类型,`N` 是容器大小。

### 构造函数
cpparray() = default; // 默认构造函数explicit array(size_t n); // 构造函数,指定容器大小template <typename... Args> explicit array(Args&&... args);


### 成员函数
cppT& operator[](size_t index); // 下标运算符const T& operator[](size_t index) const; // 下标运算符(常用)
void fill(const T& value); // 填充容器template <typename... Args> void assign(size_t n, Args&&... args);


### 示例代码
cpp#include <iostream>
#include <array>

int main() {
 std::array<int,5> arr = {1,2,3,4,5};
 // 下标运算符 std::cout << "arr[0] = " << arr[0] << std::endl;
 // 填充容器 arr.fill(10);
 for (int i : arr) {
 std::cout << i << " ";
 }
 std::cout << std::endl;
 return0;
}


**2. vector**

`vector` 是 C++ 标准库中最常用的序列容器之一,它提供了一种动态数组的实现,能够存储一组元素。

###语法
cpptemplate <typename T>
class vector;


其中 `T` 是元素类型。

### 构造函数
cppvector() = default; // 默认构造函数explicit vector(size_t n); // 构造函数,指定容器大小template <typename... Args> explicit vector(Args&&... args);


### 成员函数
cppT& operator[](size_t index); // 下标运算符const T& operator[](size_t index) const; // 下标运算符(常用)
void push_back(const T& value); // 向容器尾部添加元素template <typename... Args> void emplace_back(Args&&... args);


### 示例代码
cpp#include <iostream>
#include <vector>

int main() {
 std::vector<int> vec = {1,2,3};
 // 下标运算符 std::cout << "vec[0] = " << vec[0] << std::endl;
 // 向容器尾部添加元素 vec.push_back(4);
 for (int i : vec) {
 std::cout << i << " ";
 }
 std::cout << std::endl;
 return0;
}


**总结**

`array` 和 `vector` 都是 C++ 标准库中提供的序列容器类,它们用于存储一组元素。`array` 提供了一种简单、轻量级的数组实现,而 `vector` 提供了一种动态数组的实现。两者都支持下标运算符和向容器尾部添加元素等功能。选择哪个容器取决于具体需求,例如需要固定大小还是动态大小的容器。

其他信息

其他资源

Top