c++ vector的使用

简介: vector 的初始化

vector 的初始化

#include<iostream>
#include<vector>
using namespace std;
//vector的初始化
int main()
{
    vector<int> vec1;
    vector<float> vec2(3);
    vector<char> vec3(3,'a');
    vector<char> vec4(vec3);
    return 0 ;
}
  1. 第一个是空的整形vector,我们没有给他添加任何元素。
  2. 第二个初始化了一个有3个元素的vector,由于并没有指定初始 值,将会使用编译器默认的初始值(0)。
  3. 第三个初始化了含有3个a的字符vector,括号中第二个值代表着所有元素的指定值。
  4. 第四个vector通过拷贝vec3中的元素初始化vec4,它们的元素会一模一样。

获取长度

vec1.size()

添加元素

vec1.push_back(1) or vec1[i] = 1

push_back()每次会添加一个元素到vector的末尾

判断是否为空

vec1.empty()

移除元素

vec1.pop_back();

如果vector为空,使用pop_back()将会产生异常结果,因此需要empty()来确定vector不为空。

vector相等判断与赋值

#include<iostream>
#include<vector>
using namespace std;
//vector相等判断与赋值
int main()
{
    vector<int> vec1(3,2);
    vector<int> vec2;
    if (vec1 == vec2)
    {
        cout << "vec1与vec2相等" << endl;
    }
    vec2 = vec1;
    cout << "赋值后" << endl;
    if (vec1 == vec2)
    {
        cout << "vec1与vec2相等" << endl;
    }
    return 0 ;
}
//赋值后
//vec1与vec2相等
vector的赋值会把一个vector所有的元素赋值到另一个vector中,并替代所有元素;而vector的相等也是需要逐个元素依次比较并全部相等才算相等。


目录
相关文章
|
存储 编译器 C++
【C++】vector介绍+模拟实现
【C++】vector介绍+模拟实现
101 1
|
7月前
|
算法 编译器 C++
模拟实现c++中的vector模版
模拟实现c++中的vector模版
|
10月前
|
存储 编译器 C语言
【c++丨STL】vector的使用
本文介绍了C++ STL中的`vector`容器,包括其基本概念、主要接口及其使用方法。`vector`是一种动态数组,能够根据需要自动调整大小,提供了丰富的操作接口,如增删查改等。文章详细解释了`vector`的构造函数、赋值运算符、容量接口、迭代器接口、元素访问接口以及一些常用的增删操作函数。最后,还展示了如何使用`vector`创建字符串数组,体现了`vector`在实际编程中的灵活性和实用性。
475 4
|
9月前
|
存储 对象存储 C++
C++ 中 std::array<int, array_size> 与 std::vector<int> 的深入对比
本文深入对比了 C++ 标准库中的 `std::array` 和 `std::vector`,从内存管理、性能、功能特性、使用场景等方面详细分析了两者的差异。`std::array` 适合固定大小的数据和高性能需求,而 `std::vector` 则提供了动态调整大小的灵活性,适用于数据量不确定或需要频繁操作的场景。选择合适的容器可以提高代码的效率和可靠性。
365 0
|
9月前
|
存储 编译器 C语言
【c++丨STL】vector模拟实现
本文深入探讨了 `vector` 的底层实现原理,并尝试模拟实现其结构及常用接口。首先介绍了 `vector` 的底层是动态顺序表,使用三个迭代器(指针)来维护数组,分别为 `start`、`finish` 和 `end_of_storage`。接着详细讲解了如何实现 `vector` 的各种构造函数、析构函数、容量接口、迭代器接口、插入和删除操作等。最后提供了完整的模拟实现代码,帮助读者更好地理解和掌握 `vector` 的实现细节。
201 0
|
11月前
|
存储 C++ 索引
【C++打怪之路Lv9】-- vector
【C++打怪之路Lv9】-- vector
114 1
|
11月前
|
安全 测试技术 C++
【C++篇】从零实现 C++ Vector:深度剖析 STL 的核心机制与优化2
【C++篇】从零实现 C++ Vector:深度剖析 STL 的核心机制与优化
151 6
|
11月前
|
安全 测试技术 C++
【C++篇】从零实现 C++ Vector:深度剖析 STL 的核心机制与优化1
【C++篇】从零实现 C++ Vector:深度剖析 STL 的核心机制与优化
213 7
|
11月前
|
编译器 C语言 C++
【C++篇】解密 STL 动态之魂:全面掌握 C++ vector 的高效与优雅
【C++篇】解密 STL 动态之魂:全面掌握 C++ vector 的高效与优雅
169 7
|
11月前
|
编译器 C++
【C++】—— vector模拟实现
【C++】—— vector模拟实现