#include <iostream>
#include <vector>
using namespace std; int main()
{
// 初始化的方式
std::vector<int> vec1;
//std::vector<int> vec2(1750000);// 7G
std::vector<int> vec2(1*1024*1024*1024*1/4, 1);// 1G std::vector<int> vec3;
vec3.assign(10,0); std::vector<int> vec4;
vec4.resize(10); bool is = vec2 == vec3; // 使用数组初始化
int ar[10] = {1,2,3,4,5,6,7,8,9,0};
std::vector<int> vec5(ar, ar+10); // 深拷贝
std::vector<int> vec6(vec5);
vec6[5] = 777; // 深拷贝
std::vector<int> vec7 = vec5;
vec7[5] = 777; // 取值 at 与 []
try
{
auto a1 = vec7.at(110); // 低效率,带检查。异常可以被捕捉。 invalid vector<T> subscript
//auto a2 = vec7[110]; // 高效率,没检查。程序直接崩溃。
}
catch (const std::exception& e)
{
cout << e.what() << endl;
} int v_back = vec7.back();
int v_frone = vec7.front(); vec7.pop_back(); // 去除最后一个元素
vec7.push_back(999); vec2.clear();
{
size_t v_capa = vec2.capacity();// = 268,435,456‬,约 1G 内存
size_t v_size = vec2.size(); // = 0
} vec2.shrink_to_fit(); // 此法释放内存。但是书上说并非每次都可以奏效。
{
size_t v_capa = vec2.capacity();// = 0
size_t v_size = vec2.size(); // = 0
}
}

  

C++ std::vector 基本用法的更多相关文章

  1. C++ std::vector 基本用法2

    #include <iostream> #include <vector> using namespace std; int main() { int ar[10] = { 1 ...

  2. c++转载系列 std::vector模板库用法介绍

    来源:http://blog.csdn.net/phoebin/article/details/3864590 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作 ...

  3. c++中vector的用法详解

    c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...

  4. C++:vector的用法详解

    原文地址:http://blog.csdn.net/hancunai0017/article/details/7032383 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于 ...

  5. STL中的Vector相关用法

    STL中的Vector相关用法 标准库vector类型使用需要的头文件:#include <vector>. vector 是一个类模板,不是一种数据类型,vector<int> ...

  6. std::string,std::vector,std::accumulate注意事项

    在用string做字符串拼接时,会发现随着string的增大越来越慢,原因主要是string(和vector)是基于现行内存的数据结构,在海量数据时,经常会申请新的一块内存,把原有的数据拷贝过去然后再 ...

  7. C++学习二 vector的用法(使用sort对于vector排序)

    一.vector的介绍 vector是C++里面的一个容器,也是我们数学上面理解的向量,有一些比较常见的操作. 二.vector的定义 #include<vector> using nam ...

  8. C++序列容器之 vector常见用法总结

    一.关于vector 本文默认读者具有一定的c++基础,故大致叙述,但保证代码正确. vector是一个动态的序列容器,相当于一个size可变的数组. 相比于数组,vector会消耗更多的内存以有效的 ...

  9. STL vector常见用法详解

    <算法笔记>中摘取 vector常见用法详解 1. vector的定义 vector<typename> name; //typename可以是任何基本类型,例如int, do ...

随机推荐

  1. springboot中的pom文件是如何管理依赖的

    我们来看一下新建完成后的springboot中的pom文件 <?xml version="1.0" encoding="UTF-8"?> <p ...

  2. Shell排序 C&&C++

    Shell排序   Shell排序是大量数据需要排序时,更为高效的插入排序.它的算法思想基于插入排序的算法思想 流程: (1)将n个元素数组分成n/2个数字序列,第一个数据和第n/2个数据为一对,等等 ...

  3. JS基础-事件循环机制

    从一道题浅说 JavaScript 的事件循环 原文链接: https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/7 ...

  4. 提示用户输入一个1-40之间的数字,使用if语句根据输入数字的大小进行判断,如果输入的数字在

    提示用户输入一个1-40之间的数字,使用if语句根据输入数字的大小进行判断,如果输入的数字在 num_user=input('输入一个1-40之间的整数:') num_int=int(num_user ...

  5. CentOS7下设置网卡名称以eth开头

    一.前言 在CentOS7下,网卡的名称不再是以eth命名了,下以内容将教你如何在CentOS7下修改网卡以"eth"开头. 二.环境 ♦CentOS7.5_x86-64 三.配置 ...

  6. 从多核CPU Cache一致性的应用到分布式系统一致性的概念迁移

    概述 现代多核CPU的cache模型基本都跟下图1所示一样,L1 L2 cache是每个核独占的,只有L3是共享的,当多个cpu读.写同一个变量时,就需要在多个cpu的cache之间同步数据,跟分布式 ...

  7. 安卓逆向基础(001)-APK安装流程

    1.在/data/app下以报名为文件夹名新建文件夹 APK包存放在这里 以及lib文件 存放so 2./data/dalvik-cache 存放dex dex是dalvik虚拟机可执行文件 3./d ...

  8. 一起学Spring之Web基础篇

    概述 在日常的开发中Web项目集成Spring框架,已经越来越重要,而Spring框架已经成为web开发的主流框架之一.本文主要讲解Java开发Web项目集成Spring框架的简单使用,以及使用Spr ...

  9. 开源框架 openFrameworks

    转自:https://www.cnblogs.com/lidabo/p/9134174.html 此处仅供学习,版权属原作者: 作为一个图形图像方向的研究生,我经常都在和 OpenGL .OpenCV ...

  10. Java工作流引擎jflow对流程的结束大总结

    关键字: 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 工作流功能说明  工作流设计 工作流快速开发平台   业务流程管理   bpm工作流系统  java工 ...