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)添加元素可能会引发内存分配和数据迁移 ...
随机推荐
- vtkTestHull将多个平面围成一个凸面体
1.vtkHull produce an n-sided convex hull vtkHull is a filter which will produce an n-sided convex hu ...
- Unity3D中的SendMessage使用(消息传递的三种方法)
概述 Unity提供的消息推送机制可以非常方便我们的脚本开发,它实现的是一种伪监听者模式,利用的是反射机制. 常用函数 关于消息推送,常用的函数有三个:”SendMessage“.”SendMessa ...
- MySQL:添加用户、删除用户、授权、远程访问、修改密码
1.创建用户 #test表示你要建立的用户名,后面的123456表示密码, #localhost限制在固定地址localhost登陆 CREATE USER test@localhost IDENTI ...
- Lombok的用法
Lombok是一款Java开发插件,使得Java开发者可以通过其定义的一些注解来消除业务工程中冗长和繁琐的代码,尤其对于简单的Java模型对象(POJO).在开发环境中使用Lombok插件后,Java ...
- 【LeetCode】123、买卖股票的最佳时机 III
Best Time to Buy and Sell Stock III 题目等级:Hard 题目描述: Say you have an array for which the ith element ...
- 线程间通信共享变量和queue
在多线程中,数据是共享,如何在多线程安全的通信,是首先要可虑的问题的 #线程间的通信 import timeimport threadingfrom threading import RLock de ...
- mv 命令 移动或重命名文件
mv 命令 移动或重命名文件 [root@localhost soft]# .txt [root@localhost soft]# [root@localhost soft]# ls .txt [ro ...
- awk 命令使用指南
一:awk 的执行流程 (1) 首先执行BEGIN{} 块中的初始化操作 (2) 然后从指定的数据文件中循环读取一个数据行 ( 自动更新 NF.NR.$0.$1....., 等内建变量的值) (3) ...
- Python 用户交互程序(day1)
一: 变量 变:变化,重在变字,量:计量,衡量,表示一种状态 变量赋值 : number = 1 变量的规则: 数字,字母,下划线, 任意组合,数字不能开头,python 的关键字不能用,变量名尽量有 ...
- MySQL_基础
## 数据库的基本概念 1. 数据库的英文单词: DataBase 简称 : DB 2. 什么数据库? * 用于存储和管理数据的仓库. 3. 数据库的特点: 1. 持久化存储数据的.其实数据库就是一个 ...