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. Yaf学习(二)----Yaf初体验

    1.hello world 1.1 用yaf输出hello world 1.首先配置host,nginx 2.host不用多说,指向虚拟机IP即可 1.2 重点说一下nginx (只说server块) ...

  2. linux文件操作篇 (二) 打开和关闭文件

    2.1 打开文件和关闭文件 #include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>  头文件 i ...

  3. mysql5.7.19安装报错 无法定位程序输入点

    https://blog.csdn.net/t876587201/article/details/79503688

  4. R语言学习笔记(十):零碎知识点(21-25)

    21--assign() assign函数可以通过变量名的字符串来赋值 > assign('a', 1:3) > a [1] 1 2 3 > b <- c('a') > ...

  5. SHIFT(文字列の指定位置数の移動)

    文字ごとの項目内容の移動 以下のような SHIFT 命令のバリアントを使用すると.項目内容を移動することができます.SHIFT を使用すると.文字ごとに項目内容が移動します. 文字列の指定位置数の移動 ...

  6. 『AngularJS』ngShow

    原文 描述 ngShow指令显示或隐藏给定的基于标明ngShow属性的HTML元素.元素的显示或隐藏通过在元素上移除或添加ng-hide CSS类属性.".ng-hide"CSS类 ...

  7. Python 3基础教程27-字典

    这篇来介绍Python中的字典.字典一般用大括号包裹起来,里面的元素都是有键和值组成. # 字典 # 我们随便设计几个城市的明天的最高温度tem ={'北京':22,'上海':23,'深圳':24,' ...

  8. Prometheus 普罗米修斯监控

    周末在家无聊 看新闻 看到关于监控的东西 拿来玩玩 试一下 感觉还蛮有意思 特此记录一下 这里只介绍客户端的配置 1:首先在POM中添加依赖 <dependency> <groupI ...

  9. [USACO18DEC]Cowpatibility(容斥 or bitset优化暴力)

    题面 题意: 给出n个五元组(一个五元组的五个数互不相同),我们称两个五元组不和谐,当且仅当任意元素都不相同,求有多少对五元组不和谐. \(Solution:\) 很容易想到 Ans = 总共对数-和 ...

  10. 剑指offer-二叉树的镜像18

    题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ ...