在C++语言中Vector的命名空间的作用

简介: 在C++语言中Vector的命名空间的作用

在 C++ 语言中,<vector> 是标准模板库(STL)的一部分,它定义了一个名为 vector 的模板类,用于表示一种动态数组。vector 命名空间的作用就是提供这种动态数组的数据结构,使得程序员可以在不编写大量底层代码的情况下,轻松地管理和操作一系列元素。

动态数组

vector 是一种动态数组,意味着它可以在运行时调整其大小。当向 vector 添加元素时,如果底层的数组不足以容纳更多的元素,vector 会自动重新分配一个更大的数组,并将现有元素复制到新数组中。这种自动管理内存的能力极大地简化了程序员的工作,避免了手动分配和释放内存的麻烦。

特点

vector 具有以下特点:

动态大小:vector 的大小可以在运行时增长和缩小。

随机访问:vector 支持快速的随机访问,即可以通过索引直接访问元素。

元素顺序:vector 中的元素保持插入顺序。

迭代器:vector 提供了迭代器,允许程序员遍历元素。

容量:vector 有自己的容量概念,表示 underlying array 的大小。当实际元素数量超过容量时,vector 会重新分配更大的容量。

创建和初始化

创建和初始化 vector 有多种方式:

image.png

访问和修改

访问和修改 vector 中的元素非常直接:

image.png

添加和删除

向 vector 添加和删除元素也是常见的操作:

image.png

大小和容量

获取 vector 的大小和容量也很简单:

image.png

迭代器

vector 提供了迭代器来遍历元素:

image.png

排序和反转

vector 还支持排序和反转操作:

#include <iostream>
#include <vector>
#include <algorithm>
int main() {
    std::vector<int> vec = {4, 1, 3, 5, 2};
    std::sort(vec.begin(), vec.end());
    std::re
相关文章
|
17天前
|
编译器 C语言 C++
C++命名空间的using声明
C++命名空间的using声明
12 0
|
16天前
|
C语言 C++ 数据格式
【C++对于C语言的扩充】C++与C语言的联系,命名空间、C++中的输入输出以及缺省参数
【C++对于C语言的扩充】C++与C语言的联系,命名空间、C++中的输入输出以及缺省参数
|
3天前
|
存储 缓存 编译器
【C++进阶(五)】STL大法--list模拟实现以及list和vector的对比
【C++进阶(五)】STL大法--list模拟实现以及list和vector的对比
|
3天前
|
编译器 C++
【C++进阶(三)】STL大法--vector迭代器失效&深浅拷贝问题剖析
【C++进阶(三)】STL大法--vector迭代器失效&深浅拷贝问题剖析
|
4天前
|
C++
C++命名空间详解
C++命名空间详解
12 0
|
10天前
|
缓存 编译器 API
NumPy与其他语言(如C/C++)的接口实践
【4月更文挑战第17天】本文介绍了NumPy与C/C++的接口实践,包括Python与C/C++交互基础、NumPy的C API和Cython的使用。通过案例展示了如何将C++函数与NumPy数组结合,强调了内存管理、类型匹配、错误处理和性能优化的最佳实践。掌握这些技能对于跨语言交互和集成至关重要。
|
15天前
|
存储 算法 编译器
【C++初阶】STL详解(三)vector的介绍与使用
【C++初阶】STL详解(三)vector的介绍与使用
34 0
|
15天前
|
存储 编译器 C++
【C++初阶】STL详解(四)vector的模拟实现
【C++初阶】STL详解(四)vector的模拟实现
45 1
|
18天前
|
编译器 C语言 C++
【C++】C++入门第一课(c++关键字 | 命名空间 | c++输入输出 | 缺省参数)
【C++】C++入门第一课(c++关键字 | 命名空间 | c++输入输出 | 缺省参数)
|
19天前
|
程序员 C++
C++语言模板学习应用案例
C++模板实现通用代码,以适应多种数据类型。示例展示了一个计算两数之和的模板函数`add&lt;T&gt;`,可处理整数和浮点数。在`main`函数中,展示了对`add`模板的调用,分别计算整数和浮点数的和,输出结果。
12 2