#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. 基于FPGA的LCD+CMOS视频采集显示使用小结

    基于FPGA的LCD+CMOS视频采集显示 液晶显示器采用扫描模式,RGB888 电源采用:+5V供电 usb供电有时候会出现供电不足的问题 显示器接口有两种选择:16bit或24bit  分别对应 ...

  2. 3个Spring Boot项目调优的方式

    前言 作为一名工程师,项目调优这事,是必须得熟练掌握的事情. 在SpringBoot项目中,调优主要通过配置文件和配置JVM的参数的方式进行.   一.修改配置文件 关于修改配置文件applicati ...

  3. HTTP响应的结构是怎么样的?

    HTTP响应由三个部分组成:状态码(Status Code):描述了响应的状态.可以用来检查是否成功的完成了请求.请求失败的情况下,状态码可用来找出失败的原因.如果Servlet没有返回状态码,默认会 ...

  4. eclipse 导入别人拷贝过来的工作空间项目

    切换自己的工作空间 File --> Import --> Existing Project into Workspace --> 选择项目根目录 --> 确定 如果你的ecl ...

  5. android开发针对小米、三星、华为8.0+系统个别型号打开应用闪退

    最近开发中有个别客户反馈新换的三星.小米或者华为手机打开应用就闪退,而且是个别型号.针对这种情况特别查阅了一些资料,原因是8.0+系统的手机不允许后台创建服务,那么怎么修改呢,请看代码: 1.修改启动 ...

  6. Linux中的 date 使用

    01. 日期格式字符串列表 %H 小时(以00-23来表示). %I 小时(以01-12来表示). %K 小时(以0-23来表示). %l 小时(以0-12来表示). %M 分钟(以00-59来表示) ...

  7. SpringBoot微服务电商项目开发实战 --- 分布式文件系统实现

    SpringBoot分布式开发系列文章已经持续了一段时间了,每一篇都有核心内容讲给大家.比如:分环境部署配置及服务端口号统一配置,子模块版本号管理及第三方jar依赖管理,单点登录实现,接口安全(签名+ ...

  8. C#中提示:当前上下文中不存在名称“ConfigurationManager”

    场景 想要在程序中获取App.config中设置的内容. 想要通过 ConfigurationManager.AppSettings[key]; 来进行获取,已经添加 using System.Con ...

  9. 服务发现(consul)搭建

    服务发现(consul)搭建 下载最新版 consul 本人使用的版本为1.5.1,操作系统:window server 2008 consul部署的时候分为客户端和服务端,本次操作服务器2台,客户端 ...

  10. Linux中环境变量相关文件的区别

    Linux下各种不同环境变量相关文件的作用: 1. /etc/environment  设置整个系统的环境,系统启动时,该文件被执行. 2. /etc/profile     设置所有用户的环境,当用 ...