#include <iostream>
#include <vector> using namespace std; int main()
{
int ar[10] = { 1,2,3,4,5,6,7,8,9,0 };
std::vector<int> vec5(ar, ar + 10); // reverse
size_t cap1 = vec5.capacity(); // = 10
vec5.reserve(20); // = Request a change in capacity
size_t cap2 = vec5.capacity(); // = 20 // data()
int * pInt = vec5.data();
for (size_t i=0; i<vec5.size(); ++i)
{
cout << pInt[i];
}
cout << endl; // 1234567890 // begin end
for (auto it=vec5.begin(); it != vec5.end(); ++it)
{
cout << *it;
}
cout << endl; // 1234567890 // cbegin cend 常量,保证不改变 vector 中的元素
for (auto it = vec5.cbegin(); it != vec5.cend(); ++it)
{
cout << *it;
}
cout << endl; // 1234567890 // rbegin rend 注意偏移是 ++ 操作
for (auto it = vec5.rbegin(); it != vec5.rend(); ++it)
{
cout << *it;
}
cout << endl; // 0987654321 // iterator erase (const_iterator position);
vec5.erase(vec5.begin()); // delete 1; size = 9 // iterator erase (const_iterator first, const_iterator last);
vec5.erase(vec5.begin(), vec5.begin()+2); // delete 2, 3; size = 7 // max_size; Returns the maximum number of elements that the vector can hold.
// 系统或者库的设计上线。并非机器所能申请的最大大小。
size_t maxSize = vec5.max_size(); std::vector<int> vec6(2);
vec5.swap(vec6); // 两者交换
///vec5.swap(std::vector<int>()); // 2015支持,2017不支持 // iterator insert( iterator pos, const T& value );
auto it = vec5.begin();
vec5.insert(it, 101); it = vec5.begin(); // it 已经失效
vec5.insert(it +1, 102); // iterator insert(const_iterator pos, const T& value);
const std::vector<int>::iterator cit = vec5.begin();
vec5.insert(cit, 103); // void insert( iterator pos, size_type count, const T& value ); // iterator insert( const_iterator pos, size_type count, const T& value );
vec5.insert(vec5.begin(), 2, 104); // insert 2 个 104 // template< class InputIt >
// void insert(iterator pos, InputIt first, InputIt last);
vec5.insert(vec5.begin(), vec6.begin(), vec6.end()); // insert vec6 // iterator insert( const_iterator pos, std::initializer_list<T> ilist );
vec5.insert(vec5.begin(), {105,106,107}); }

  

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

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

    #include <iostream> #include <vector> using namespace std; int main() { // 初始化的方式 std::v ...

  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. 抓包工具Charles的使用说明

    Charles介绍&前期准备: Charles介绍:Charles跟fiddler是目前行业中比较常用的抓包工具,这里主要介绍Charles的使用,fiddler的使用类似. 前期准备:使用前 ...

  2. spring cloud详解

    1.Spring boot与Spring cloud 之间的关系 Spring boot 是 Spring 的一套快速配置脚手架,可以基于spring boot 快速开发单个微服务 ​ Spring ...

  3. IIS配置svc(IIS8中添加WCF支持几种方法小结)

    方法一 最近在做Silverlight,Windows Phone应用移植到Windows 8平台,在IIS8中测试一些传统WCF服务应用,发现IIS8不支持WCF服务svc请求,后来发现IIS8缺少 ...

  4. 【开发必备】2018最新中国国内可用API合集

    中国国内可用API合集 笔记 OneNote - OneNote支持获取,复制,创建,更新,导入与导出笔记,支持为笔记添加多媒体内容,管理权限等.提供SDK和Demo. 为知笔记 - 为知笔记Wind ...

  5. mybatis源码学习(四)--springboot整合mybatis原理

    我们接下来说:springboot是如何和mybatis进行整合的 1.首先,springboot中使用mybatis需要用到mybatis-spring-boot-start,可以理解为mybati ...

  6. Python批量更新模块的方法【面试必学】

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:ranchlin      小编的环境为win10+python 3. ...

  7. github pages 子域名 ( subdomain ) https 认证

    目录 说明 github pages 上的创建子域名 https 认证 说明 转载请注明出处https://www.cnblogs.com/bllovetx/p/12013462.html 欢迎访问我 ...

  8. kvm磁盘管理

    kvm磁盘管理 kvm虚拟机虚拟磁盘格式转换 各种格式说明介绍 row:裸格式,占用空间较大,不支持快照功能,性能较好,不方便传输(顺序读写) 50G 2G 传输50G qcow2:cow 占用空间小 ...

  9. Linux 终端(TTY)

    TTY 是 Teletype 或 Teletypewriter 的缩写,原来是指电传打字机,后来这种设备逐渐键盘和显示器取代.不管是电传打字机还是键盘显示器,都是作为计算机的终端设备存在的,所以 TT ...

  10. 解决ES报错NoNodeAvailableException[None of the configured nodes are available:问题

    elasticSearch的错误 NoNodeAvailableException[None of the configured nodes are available: [{#transport#- ...