c++ vector对象相关总结

yizhihongxing

C++ Vector对象相关总结

什么是Vector?

Vector是C++标准库中的一个动态数组容器,可自动管理其大小(即内存分配和释放),支持快速随机访问。

动态数组顾名思义就是可以动态增长的数组。和普通数组不同之处在于,普通数组在定义时需要明确指定数组大小,而动态数组则可以在运行时根据需要改变大小。

Vector的使用方法

首先需要包含头文件。

1.定义和初始化

vector<int> nums;       // 创建空的vector对象
vector<int> nums(10);   // 创建10个元素的vector对象,每个元素初始化为0
vector<int> nums(10, 1);// 创建10个元素的vector对象,每个元素初始化为1
vector<int> nums{1, 2, 3, 4, 5};  // 创建5个元素的vector对象,初始化为1, 2, 3, 4, 5

2.元素访问

vector<int> nums{1, 2, 3, 4, 5};
cout << nums[2] << endl; // 访问vector的第3个元素,输出:3
cout << nums.at(2) << endl; // 同上,输出:3

// 遍历vector的所有元素
for (int i = 0; i < nums.size(); i++) {
    cout << nums[i] << " ";
}
cout << endl;

3.元素操作

vector<int> nums{1, 2, 3, 4, 5};

// 在vector末尾添加一个元素
nums.push_back(6);    // nums: 1 2 3 4 5 6

// 在第2个位置插入元素7
nums.insert(nums.begin() + 1, 7); // nums: 1 7 2 3 4 5 6

// 删除第3个元素
nums.erase(nums.begin() + 2); // nums: 1 7 3 4 5 6

// 获取vector的大小
cout << nums.size() << endl; // 输出:6

vector与数组的比较

vector的优点

  1. 支持动态内存分配和释放,可以随时扩展或缩小容量;
  2. 提供快速随机访问,可以像数组一样使用下标操作元素;
  3. 提供多种操作方法,如插入和删除等,方便修改容器中的元素;
  4. 具有异常安全保证,即除非程序显式退出,否则不会出现调用vector方法时发生的异常而导致程序崩溃的情况。

数组的优点

  1. 占用更少的内存空间,可以根据所需的大小手动分配内存,更适合对内存空间有限的嵌入式系统等场合;
  2. 数组操作更加简单直观,只需要知道数组长度和下标就可以访问、更新元素。

示例说明

示例1:求vector的和

下面是一个使用vector的求和例子。

#include <vector>
#include <iostream>

using namespace std;

int main() {
    vector<int> nums{1, 2, 3, 4, 5};

    int sum = 0;
    for (int i = 0; i < nums.size(); i++) {
        sum += nums[i];
    }
    cout << "vector的和为:" << sum << endl;

    return 0;
}

输出结果:

vector的和为:15

示例2:向vector插入元素

下面是一个向vector插入元素的例子。

#include <vector>
#include <iostream>

using namespace std;

int main() {
    vector<int> nums{1, 2, 3, 4, 5};

    nums.insert(nums.begin() + 2, 6); // 在第3个位置插入元素6

    cout << "vector的大小为:" << nums.size() << endl;
    for (int i = 0; i < nums.size(); i++) {
        cout << nums[i] << " ";
    }
    cout << endl;

    return 0;
}

输出结果:

vector的大小为:6
1 2 6 3 4 5

以上就是关于C++ Vector对象相关总结的内容,希望能对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c++ vector对象相关总结 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • 关于JSON与JSONP简单总结

    关于JSON与JSONP简单总结 什么是JSON? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。 JSON格式如下: { "name": "John", "age": 30, "country&qu…

    C 2023年5月23日
    00
  • C语言实现循环链表

    实现循环链表,我们需要定义一个结构体来表示链表中的每个节点,其中包含一个指向下一个结点的指针。 下面是一个示例结构体的定义: struct Node { int data; struct Node* next; }; 其中,data表示节点存储的数据,next是指向下一个节点的指针。 我们需要定义以下操作来构建循环链表: 创建一个空链表 struct Nod…

    C 2023年5月23日
    00
  • C 程序 检查整数是正还是负

    C程序检查整数是正还是负 程序概述 这个程序可以检查一个输入的整数是正还是负数。如果输入的整数大于0,则会输出”Positive”,否则输出”Negative”。 程序代码 #include <stdio.h> int main() { int num; printf("Enter a number: "); scanf(&q…

    C 2023年5月9日
    00
  • C/C++语言宏定义使用实例详解

    C/C++语言宏定义使用实例详解 1. 什么是宏定义? 宏定义是指利用 #define 关键字指定一个标识符(也就是宏名)来表示某个字符串或表达式。在编译器编译源程序时,宏名会替换为相应的字符串或表达式,起到宏替换的作用。 宏定义可以用来简化代码,定义常量、函数等,提高编程效率。 2. 宏定义的语法 #define 宏名 字符串 其中,宏名 是标识符,字符串…

    C 2023年5月23日
    00
  • R语言ggplot2包之注释方式

    接下来我将为你详细讲解“R语言ggplot2包之注释方式”的完整攻略。 1. ggplot2简介 ggplot2是R语言中用于绘制图形的重要包,由于其具有高度可定制性、灵活性、可扩展性以及美观性等特点,使得其成为了最受欢迎的绘图工具之一。 2. 为什么需要注释? 在绘制图形过程中,注释是非常重要的一环。通过注释,我们可以更好地解释图形中的信息,从而帮助读者更…

    C 2023年5月22日
    00
  • ajax处理返回的json格式数据方法

    下面我会给你详细讲解“ajax处理返回的json格式数据方法”的完整攻略。 步骤一:发起ajax请求 在网页中使用ajax处理json数据通常需要调取服务器端的api,通过发起ajax请求获取json数据。发起ajax请求可以使用像jquery这样的第三方库,以下是一个发起ajax请求的范例代码: $.ajax({ url: ‘/api/getData’, …

    C 2023年5月23日
    00
  • JS对象与json字符串格式转换实例

    JS对象与JSON字符串格式转换是前端开发中常用的一项技术,本文将以实例的方式详细讲解对象与JSON字符串格式的相互转换。 将JS对象转换成JSON字符串格式 使用JSON.stringify()方法 JavaScript中可以使用JSON.stringify()方法将一个对象转换成JSON字符串格式,该方法接收两个参数: 待转换的JS对象 一个可选的rep…

    C 2023年5月23日
    00
  • C++语言const 关键字使用方法图文详解

    C++语言const 关键字使用方法图文详解 什么是const const关键字是C++语言中的保留关键字,用于修饰变量,表示在程序运行过程中该变量的值不能被修改。const关键字的使用可以提高程序的可读性和安全性。 如何使用const const修饰变量 const int a = 10; 上述代码中,变量a被定义为const类型,表示该变量的值为10,在…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部