在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
相关文章
|
5天前
|
存储 编译器 C++
【C++】vector介绍+模拟实现
【C++】vector介绍+模拟实现
|
6天前
|
算法 编译器 Linux
【C++】vector的模拟实现
【C++】vector的模拟实现
|
1月前
|
C++ 容器
C++中向量的操作vector
C++中向量的操作vector
|
6天前
|
存储 算法 C语言
【C++】vector的认识与使用
【C++】vector的认识与使用
|
10天前
|
编译器 C语言 C++
C++入门 | 命名空间、输入输出、缺省参数
C++入门 | 命名空间、输入输出、缺省参数
25 4
|
11天前
|
存储 算法 C++
【C++】vector介绍以及模拟实现(超级详细)
【C++】vector介绍以及模拟实现(超级详细)
32 4
|
12天前
|
编译器 C++ 容器
C++语言的基本语法
想掌握一门编程语言,第一步就是需要熟悉基本的环境,然后就是最重要的语法知识。 C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。 对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。 类 - 类可以定义为描述对象行为/状态的模板/蓝图。 方法 - 从基本上说,一个方法表示一种行为。一个类可以包含多个方法。可以在方法中写入逻辑、操作数据以及执行所有的动作。 即时变量 - 每个对象都有其独特的即时变量。对象的状态是由这些即时变量的值创建的。 完整关键字
29 2
|
26天前
|
前端开发 编译器 程序员
协程问题之为什么 C++20 的协程代码比其他语言的协程 demo 长很多如何解决
协程问题之为什么 C++20 的协程代码比其他语言的协程 demo 长很多如何解决
|
28天前
|
安全 编译器 C++
C++一分钟之-C++中的属性命名空间
【7月更文挑战第22天】C++11引入属性作为元数据,虽无内置属性命名空间,但可通过自定义属性与命名空间组合实现类似效果。例如,创建`perf`命名空间存放`slow`和`fast`属性来标记函数性能。正确使用属性需注意位置、避免重复和确保与实现一致,以提升代码可读性和编译器理解。通过模拟属性命名空间,可以更有效地管理和使用属性。
35 1
|
1月前
|
小程序 C++
【C++入门 二 】学习使用C++命名空间及其展开
【C++入门 二 】学习使用C++命名空间及其展开