c++ vector对象相关总结

  下面随笔讲解c++ vector对象。

vector对象

  为什么需要vector?

  • 封装任何类型的动态数组,自动创建和删除。
  • 数组下标越界检查。
  • 封装的如ArrayOfPoints也提供了类似功能,但只适用于一种类型的数组。

vector对象的定义

vector<元素类型> 数组对象名(数组长度);

例:

    vector<int> arr(5)
    建立大小为5的int数组

vector对象的使用

对数组元素的引用

与普通数组具有相同形式:

vector对象名 [ 下标表达式 ]

vector数组对象名不表示数组首地址

  • 获得数组长度
  • 用size函数

数组对象名.size()

//例 vector应用举例

#include <iostream>

#include <vector>

using namespace std;

//计算数组arr中元素的平均值

double average(const vector<double> &arr)

{

  double sum = 0;

  for (unsigned i = 0; i<arr.size(); i++)

  sum += arr[i];

  return sum / arr.size();

}

int main() {

  unsigned n;

  cout << "n = ";

  cin >> n;

  vector<double> arr(n); //创建数组对象

  cout << "Please input " << n << " real numbers:" << endl;

  for (unsigned i = 0; i < n; i++)

    cin >> arr[i];

  cout << "Average = " << average(arr) << endl;

  return 0;

}
//基于范围的for循环配合auto举例

#include <vector>

#include <iostream>

int main()

{

  std::vector<int> v = {1,2,3};

  for(auto i = v.begin(); i != v.end(); ++i)

    std::cout << *i << std::endl;

  for(auto e : v)

    std::cout << e << std::endl;

}

以上就是c++ vector对象相关总结的详细内容,更多关于c++ vector对象的资料请关注我们其它相关文章!

(0)

相关推荐

  • C++实现动态顺序表(vector)

    vector是连续存储结构,支持随机的高效的随机和在尾部进行插入.删除操作,其它位置的插入.删除操作相对来说效率较低. vector相当于一个数组,但它的数组空间大小需要写一程序来实现. 它的内存分配原理大概可分为下面几步: 1)首先分配一块内存空间进行存储: 2)当所需存储的数据超过分配的空间时,再重新分配一块空间: 3)将旧元素复制到新空间: 4)释放旧空间. 实现代码如下: vector.h #pragma once #include<stdio.h> #include<asser

  • 简单讲解c++ vector

    在c++中,vector是一个十分有用的容器. 作用:它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据. vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库. 特别注意: 使用vector需要注意以下几点: 1.加入头文件 <vector> 2.如果你要表示的向量长度较长(需要为向量内部保存很多数),容易导致内存泄漏,而且效率会很低: 3.Vector作为函数的参数或者返回值时,

  • 通过代码实例解析c++ vector常用方法

    1. c++ vector 每个元素加上一个特定值 (c++ vector add a constant value for each element) https://stackoverflow.com/questions/4461446/stl-way-to-add-a-constant-value-to-a-stdvector vector<int> x = {0, 30, 80, 100, 120, 150, 190, 220, 250}; //transform可以将函数应用到序列的

  • C++ Vector 动态数组的实现

    简介 向量(Vector)是一个封装了动态大小数组的顺序容器. 向量是一个能够存放任意类型的动态数组. C++ 中 Vector 的使用 头文件 #include <vector> 需要使用 std 命名空间 using namespace std; 以下使用方法以 int 数据类型为例,使用时可自定义数据类型 注意:下文中区间为左闭右开 1. 定义(初始化)Vector vector<int> v; 创建一个空vector vector<int> v(5); 创建一个

  • C++ vector扩容解析noexcept应用场景

    c++11提供了关键字noexcept,用来指明某个函数无法--或不打算--抛出异常: void foo() noexcept; // a function specified as will never throw void foo2() noexcept(true); // same as foo void bar(); // a function might throw exception void bar2() noexcept(false); // same as bar 所以我们需要

  • C++中检查vector是否包含给定元素的几种方式详解

    概述 在编码中经常会遇到一种场景,就是要在数组或列表中查找某个元素是否存在,其实对于这种线性操作,自己实现一个循环来检查是非常简单的事情,那既然这样,为啥还要专门写篇博客来分享呢? 一个最重要的原因就是我们原本就可以用更简洁直观高效的方式去替代手写for循环,这个方式就是使用C++标准库函数. 再啰嗦几句. 通常在面试的时候,为了考察面试者的编码功底,会让其从头实现某些基础的算法,但是在实际开发中,很多东西都有现成的封装.只有把语言.标准库"双剑合璧"才能算是真正的C++.而且据C++

  • c++ vector 常用函数示例解析

    c++ vector 常用函数 Just like arrays, vectors use contiguous storage locations for their elements, which means that their elements can also be accessed using offsets on regular pointers to its elements, and just as efficiently as in arrays. But unlike ar

  • c++容器list、vector、map、set区别与用法详解

    c++容器list.vector.map.set区别 list 封装链表,以链表形式实现,不支持[]运算符. 对随机访问的速度很慢(需要遍历整个链表),插入数据很快(不需要拷贝和移动数据,只需改变指针的指向). 新添加的元素,list可以任意加入. vector 封装数组,使用连续内存存储,支持[]运算符. 对随机访问的速度很快,对头插元素速度很慢,尾插元素速度很快 新添加的元素,vector有一套算法. map 采用平衡检索二叉树:红黑树 存储结构为键值对<key,value> set 采用

  • C++ vector容器实现贪吃蛇小游戏

    本文实例为大家分享了C++ vector容器 实现贪吃蛇,供大家参考,具体内容如下 使用vector容器实现贪吃蛇简化了很多繁琐操作,且相比之前我的代码已经做到了尽量的简洁 技术环节: 编译环境:windows VS2019 需求: 控制贪吃蛇吃食物,吃到一个食物蛇身变长一节,得分增加,撞墙或撞自己则游戏结束. 思路: 创建一个vector容器,容器内存储蛇的每节身体的结构变量,结构变量中保存蛇身体的xy坐标,通过使用vector成员方法不断添加和删除容器中的数据,实现蛇坐标的规律移动,吃到食物

  • C++中vector操作方式详解(多种方式)

    1. vector: 1.1 vector 说明 vector是向量类型,可以容纳许多类型的数据,因此也被称为容器 (可以理解为动态数组,是封装好了的类) 进行vector操作前应添加头文件#include <vector> 1.2 vector初始化: 方式1. //定义具有10个整型元素的向量(尖括号为元素类型名,它可以是任何合法的数据类型),不具有初值,其值不确定 vector<int>a(10); 方式2. //定义具有10个整型元素的向量,且给出的每个元素初值为1 vec

随机推荐