size         :返回有效元素个数

max_size     :返回 vector 支持的最大元素个数

resize       :改变有效元素的个数

capacity      :返回当前可使用的最大元素内存块数(即存储容量)

empty       :判断是否为空

reserve       :请求改变存储容量

shrik_to_fit     :请求移除未使用的存储空间

std::vector<int> foo;
for (int i = ; i<; i++) foo.push_back(i);
std::cout << "size: " << (int)foo.size() << '\n';
std::cout << "capacity: " << (int)foo.capacity() << '\n';
std::cout << "max_size: " << (int)foo.max_size() << '\n';
foo.resize();
foo.resize(, );
foo.resize();
for (int i = ; i < foo.size(); i++)
std::cout << ' ' << foo[i];
std::cout << std::endl; int sum();
while (!foo.empty())
{
sum += foo.back();
foo.pop_back();
}
std::cout << "total: " << sum << '\n'; foo.reserve(); //设置最小容量,返回值大于等于这个值
std::cout << "capacity: " << (int)foo.capacity() << '\n'; //200,如果设置100,这里是141 foo.resize();
foo.shrink_to_fit(); //请求移除不使用的空间
std::cout << "capacity: " << (int)foo.capacity() << '\n'; //

[] at

front    访问第一个元素

back    访问最后一个元素

data    返回当前向量内部数组的指针

#include <iostream>
#include <vector> int main()
{
std::vector<int> foo();
int* p = foo.data();
*p = ;
++p;
*p = ;
p[] = ;
std::cout << "foo.front() is now " << foo.front() << std::endl;
std::cout << "foo:";
for (unsigned i = ; i<foo.size(); ++i)
std::cout << ' ' << foo[i];
std::cout << std::endl; return ;
}

vector 基础2的更多相关文章

  1. vector基础

    //STL基础 //容器 //vector #include "iostream" #include "cstdio" #include "vecto ...

  2. vector基础操作

    //vector< T> vec; //构造一个名为vec的储存数据类型为T的动态数组.其中T为需要储存的数据类型 //初始时vec为空 //push_back 末尾添加一个元素 //po ...

  3. vector 基础

    http://classfoo.com/ccby/article/jnevK Vector的存储空间是连续的,list不是连续存储的 vector初始化 vector<int>v; //不 ...

  4. 66)vector基础总结

    基本知识: 1)vector 样子  其实就是一个动态数组: 2)vector的基本操作: 3)vector对象的默认构造 对于类  添加到  容器中  要有  拷贝构造函数---> 这个注意 ...

  5. Android Vector曲折的兼容之路

    Android Vector曲折的兼容之路 两年前写书的时候,就在研究Android L提出的Vector,可研究下来发现,完全不具备兼容性,相信这也是它没有被广泛使用的一个原因,经过Google的不 ...

  6. java数据结构-Vector

    1 Vector基础实现为数组 object[] synchronized线程安全 2 扩容使用  System.arraycopy(original, 0, copy, 0,Math.min(ori ...

  7. C++【vector】用法和例子

    /*** * vector 基础api复习 * 8 AUG 2018 */ #include <iostream> #include <vector> using namesp ...

  8. Faster-RCNN tensorflow 程序细节

    tf-faster-rcnn github:https://github.com/endernewton/tf-faster-rcnn backbone,例如vgg,conv层不改变feature大小 ...

  9. [Java] 集合框架原理之一:基本结构与源码分析

    一.Collection Collection 接口定义了一些基本的方法: int size(); boolean isEmpty(); boolean add(E e); boolean addAl ...

随机推荐

  1. CacheManager源码分析

    计算rdd的某个分区是从RDD的iterator()方法开始的,我们从这个方法进入 然后我们进入getOrCompute()方法中看看是如何进行读取数据或计算的 getOrElseUpdate()方方 ...

  2. Python接受流式输入

    随笔记录——Python接受终端入若干行输入 Python接受终端的若干行输入时,比较常用的input()不再好用. 1. 导入sys模块: import sys 2. for循环接受输入: for ...

  3. linux文件IO操作篇 (二) 缓冲文件

    2. 缓冲文件操作 //规模较大 实时性低的文件 //当数据长度快要超过缓冲区的范围时,或者时间周期达到时,数据才被送往指定位置 //需要使用FILE * 作为文件标识符 //stdin 标准输入 / ...

  4. Test类实验

    package PC_TEST; class CPU{ int speed; CPU(){ speed=0; } CPU(int k){ speed=k; } void setSpeed(int k) ...

  5. Python3爬虫(二)网络爬虫的尺寸与约束

    Infi-chu: http://www.cnblogs.com/Infi-chu/ 一.网络爬虫的尺寸: 1.小规模,数据量小,爬取速度不敏感,Requests库,爬取网页 2.中规模,数据规模较大 ...

  6. UVa Problem 100 The 3n+1 problem (3n+1 问题)

    参考:https://blog.csdn.net/metaphysis/article/details/6431937 #include <iostream> #include <c ...

  7. 关于实现mybatis order by 排序传递参数实现 问题记录

    一    问题场景:本人项目纯纯的后端系统  并且项目前端采用纯纯的原生js 实现 1)表格  通过查询列表数据放入到域中  前段采用 for循环的方式实现遍历生成列表 2)分页实现本人是公司内部自定 ...

  8. 程序在Linux下前后台切换

    程序在Linux下前后台切换 一.为什么要使程序在后台执行 背景:SecureCRT远程连接到linux主机,使程序在后台运行有以下好处: (1)本机关机不影响linux主机运行 (2)不影响计算效率 ...

  9. Oracle 学习笔记(四)

    ​oracle表查询 使用逻辑操作符号  查询工资高于 500 或者是岗位为 MANAGER 的雇员,同时还要满足他们的姓名首字母为大写 J SELECT * FROM emp WHERE (sal ...

  10. laravel跨域问题

    // 只有同源策略才允许发送cookies // header('Access-Control-Allow-Credentials:true'); 需要要index.php下开启 最近写登录图形验证码 ...