C++ std::vector 总结笔记
Initialization
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> ivec(10, -1);
vector<int> ivec2(ivec);
for (auto x : ivec2) {cout << x << endl;}
vector<int> jvec(10); //initialized as 0s;
for (auto x: jvec)
cout << x << endl;
vector<int> zvec{1,2,3};
vector<int> avec={1,2,3}; //zvec and avec are equivalent
for (int i=0; i<zvec.size(); i++)
{
std::cout << (zvec[i] == avec[i]) << endl;
}
return 0;
}
Methods
v.empty()
: returntrue
if v is emptyv.size
: return the number of elements in vv.push_back(t)
: add an element to v.v1==v2
: returntrue
if number and values are equal
int main()
{
vector<int> avec{1,2,3};
vector<int> bvec{1,2,3};
cout << (avec==bvec) << endl;
cout << (&avec==&bvec) << endl;
return 0;
}
1
0
[Finished in 0.9s]
Iterator
int main()
{
string s("hello");
if (s.begin()!=s.end())
{
auto it = s.begin();
*it = toupper(*it);
}
cout << s << endl;
for (auto it = s.begin(); it !=s.end() && !isspace(*it); ++it)
{
*it = toupper(*it);
}
cout << s << endl;
return 0;
}
Hello
HELLO
[Finished in 0.8s]
vector<int>::iterator it
vector<int>::const_iterator it2
: it2 can read but not write
C++ std::vector 总结笔记的更多相关文章
- 随机排序std::vector,扑克牌,麻将类尤其合用
有些需要重新对std::vector对象重新排序,特别是游戏,例如说:扑克牌,麻将,抽奖等,C++标准已经为std::vector写好了随机排序的方式,这里做个笔记: #include <alg ...
- c++转载系列 std::vector模板库用法介绍
来源:http://blog.csdn.net/phoebin/article/details/3864590 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作 ...
- C++ 中的std::vector介绍(转)
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vec ...
- std::vector介绍
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vec ...
- std::vector<Channel2*> m_allChannels;容器,以及如何根据channelid的意义
std::vector<Channel2*> m_allChannels;容器,以及如何根据channelid的意义 这个容器保存了所有客户端连接的channel Channel2* Li ...
- std::vector数据复制
std::vector<boost::shared_ptr <ITEM> > srcItemList; // 数据源 std::vector<ITEM> des ...
- 单独删除std::vector <std::vector<string> > 的所有元素
下面为测试代码: 1.创建 std::vector< std::vector<string> > vc2; 2.初始化 std::vector<string> vc ...
- std::vector的分片拷贝和插入
一般我们在用Qt的QByteArrary或者List的时候,会有相应的append的方法,该函数,就是把数据加入末尾.但是std::vector就没有相应的方法.但是我们可以用insert方法来实现: ...
- 使用std::vector优化点云动画显示一例
1. 准备 使用std::vector应该知道几点: (1)内存连续的容器,有点像数组 (2)与std::list相比,插入和删除元素比较慢- 因为数据迁移 (3)添加元素可能会引发内存分配和数据迁移 ...
随机推荐
- lnmp宝塔面板问题
使用宝塔面板后,无法安装zabbix客户端的依赖包,总是提示mariadb冲突,其实mariadb早就卸载完了,所以要安装zabbix客户端就不好使用宝塔面板
- 浏览器从输入URL到渲染出页面发生了什么
总体来说分为以下几个过程: 1. DNS解析 2. TCP连接 3. 发送HTTP请求 4. 服务器处理请求并返回HTTP报文 5. 浏览器解析渲染页面 6. 连接结束 参考资料:[https:// ...
- pcap中不同包功能
1.不同包协议的功能 EAPoL:基于局域网的扩展认证协议 ICMPv6:(一般是四个连在一起)互联网控制协议第六套 DHCP Discover:请求分配IP DHCP Offer:你的IP是***, ...
- 【神经网络与深度学习】【python开发】caffe-windows使能python接口使用draw_net.py绘制网络结构图过程
[神经网络与深度学习][python开发]caffe-windows使能python接口使用draw_net.py绘制网络结构图过程 标签:[神经网络与深度学习] [python开发] 主要是想用py ...
- CDH6.2中capacity队列的分配
配置: yarn.scheduler.capacity.root.queues
- Linux下面MariaDB 管理命令基础使用
MariaDB 是 MySQL 的一个分,由于某些原因,使之取代了Mysql成为了 RHEL/CentOS 7 的默认数据库.针对数据库的操作我们经常做的操作就是增删查改,接下来就介绍下 MariaD ...
- spring boot1.1 idea + springboot + mybatis(mybatis-generator) +mysql +html实现简单的登录注册
前言 这两年springboot比较火,而我平时的工作中不怎么使用spring boot,所以工作之余就自己写写项目练练手,也跟大家一起学习. 打算从最开始的搭架子,登录注册,到后台管理的增删改查,业 ...
- priority_queue的常见用法
priority_queue的常见用法 priority_queue是什么? 优先队列 底层实现用堆来实现 每次队首的优先级最大 priority_queue的定义 引入头文件 # include & ...
- java按值传递?
原文链接:https://blog.csdn.net/scholar_man/article/details/80900212 在Java中,参数都是按值传递的.被传递到方法中的拷贝值,要不就是一个引 ...
- redis 字符串 数据类型
1 字符串 设置: set key value 获取: get key 删除: del key getrange key 0 3 截取字符串内容 ...