C++ vector 使用笔记
map 插入 vector
#include <string> #include <iostream> #include <algorithm> #include <map> #include <vector> using namespace std; typedef map<string, string> STRING2STRING; typedef std::map<string, vector<string > > STRING2VECTOR; int main()
{ std::map<string, string > map_test; map_test.insert(STRING2STRING::value_type("", "test1"));
map_test.insert(STRING2STRING::value_type("", "test5")); map<string, string>::const_iterator map_conitor = map_test.begin();
for(; map_conitor!= map_test.end(); map_conitor++)
{ cout<<map_conitor->first<<" "<<map_conitor->second<<endl;
} map<int, vector<string> > m_map; vector<string> m_vec;
m_vec.resize(); m_vec[] = "aaaaa";
m_vec[] = "bbbbb";
// m_vec.clear();
// cout<<m_vec[0]<<endl; m_map[] = m_vec;
if(m_map[].empty()) { cout<<"not push_back can not assignment"<<endl;} cout<<m_map[][]<<endl; // push_back 方式
vector<string> m_vecPush;
m_vecPush = m_map[];
cout<<"assignment m_vecPush:"<<m_vecPush[] <<endl; map<int, vector<string> > m_mapPush;
m_vecPush.resize(); m_vecPush.push_back("aaaaa");
m_vecPush.push_back("bbbbb"); // m_mapPush[0] = m_vecPush; 与 m_mapPush.insert 等价
m_mapPush.insert(pair<int,vector<string> >(,m_vecPush)); if(m_mapPush[].empty()) { cout<<"push_back can not assignment"<<endl;}
cout<<m_mapPush[][]<<endl; // m_mapPush[dev_id].empty() 与 m_mapPush.find(dev_id) == m_mapPush.end() 类似
if(m_mapPush[].empty()) {
cout<<"m_mapPush empty way not exits"<<endl;
} if(m_mapPush.find() == m_mapPush.end()) {
cout<<"m_mapPush find way not exits"<<endl;
} /////////////////////////// vector 清空元素 ///////////////////////////////
// 清空元素,不回收空间
m_vecPush.clear();
cout<<"clear vector size:"<<m_vecPush.capacity()<<endl;
// 清空元素并释放空间
m_vecPush.clear();
vector<string>().swap(m_vecPush);
cout<<"swap vector size:"<<m_vecPush.capacity()<<endl; }
之前在开发板上使用
m_vec[0] = "aaaaa"; 这种方式,然后用 m_map[0] = m_vec; 发现m_vec赋值不成功。要用m_vec.push_back("aaaa")这种方式才能赋值给map。 但在台式linux上不存在这种情况。
C++ vector 使用笔记的更多相关文章
- <<Vector Calculus>>笔记
现在流行用Exterior Caculus, 所以个人觉得Matthews这本书有点过时了. 想学Vector Calculus的话,推荐<Vector Calculus, Linear Alg ...
- C++ std::vector 总结笔记
Initialization #include<iostream> #include<vector> using namespace std; int main() { vec ...
- C++笔记(1)
C++笔记1文件与流笔记 参考博客: https://blog.csdn.net/kingstar158/article/details/6859379 关闭文件中: 当文件读写操作完成之 ...
- C++学习笔记之由文本文件读取数据到vector模板建立的二维数组 并存储为新的文本文件
阅读本文可首先参考: C++学习笔记之输入.输出和文件 测试数据: /*读取txt文件到二维数组*/ #include <iostream> #include <fstream> ...
- Essential C++ 学习笔记02--Array/Vector 与指针
Essential C++ 1.5-1.6节,3.1节笔记 Array/Vector/指针,难度偏大, 但若学习初期不熟悉基本用法,则难以写出有效代码. 1. 基本概念 Array 是一段连续内存,数 ...
- STL源码剖析读书笔记之vector
STL源码剖析读书笔记之vector 1.vector概述 vector是一种序列式容器,我的理解是vector就像数组.但是数组有一个很大的问题就是当我们分配 一个一定大小的数组的时候,起初也许我们 ...
- 小猪猪C++笔记基础篇(四)数组、指针、vector、迭代器
小猪猪C++笔记基础篇(四) 关键词:数组,Vector. 一.数组与指针 数组相信大家学过C语言或者其他的语言都不陌生,简单的就是同一个变量类型的一组数据.例如:int a[10],意思就是从a开始 ...
- Effective STL 学习笔记: 多用 vector & string
Effective STL 学习笔记: 多用 vector & string 如果可能的话, 尽量避免自己去写动态分配的数组,转而使用 vector 和 string . 原书作者唯一想到的一 ...
- STL之vector常用函数笔记
STL之vector常用函数笔记 学会一些常用的vector就足够去刷acm的题了 ps:for(auto x:b) cout<<x<<" ";是基于范围的 ...
随机推荐
- IPv6应用普及,任重而道远
导读 2018年初开始,全国尤其是运营商网络开启了IPv6改造的大幕,很多企业都从工信部领到了军令状,要将IPv6改造工作彻底落实下去.现在2018年已接近尾声,回头看看实际部署情况如何. IPv6涉 ...
- c++ 为自定义类添加stl遍历器风格的遍历方式
为仿照stl的遍历风格,实现对自定义类型的遍历. 1. 需要遍历的基础结构: struct ConnectionPtr { int id_; int port_; string addr_; //st ...
- 微信access_token请求之简单缓存方法封装
还有东西要搞,就直接上代码 function.php <?php // 一个好玩的 curl 类 // https://github.com/metowolf/Meting/blob/maste ...
- 分布式 NewSQL 对比
1.TiDB: 说明: PingCAP 公司基于 Google Spanner / F1 论文实现的开源分布式 NewSQL 数据库. 开源分布式 NewSQL 关系型数据库 TiDB 是新一代开源分 ...
- BZOJ5338 [TJOI2018] Xor 【可持久化Trie树】【dfs序】
题目分析: 很无聊的一道题目.首先区间内单点对应异或值的询问容易想到trie树.由于题目在树上进行,case1将路径分成两段,然后dfs的时候顺便可持久化trie树做询问.case2维护dfs序,对d ...
- Codeforces Round #411 div 2 D. Minimum number of steps
D. Minimum number of steps time limit per test 1 second memory limit per test 256 megabytes input st ...
- Linux 配置Samba服务
查看系统下是否已经安装了sambarpm -qa |grep samba 安装sambayum -y install samba 配置samba创建目录sambamkdir -p /home/samb ...
- 挂载文件系统出现"kernel panic..." 史上最全解决方案
问:挂载自己制作的文件系统卡在这里: NET: Registered protocol family 1 NET: Registered protocol family 17 VFS: Mounted ...
- CodeForces 464E The Classic Problem | 呆克斯歘 主席树维护高精度
题意描述 有一个\(n\)点\(m\)边的无向图,第\(i\)条边的边权是\(2^{a_i}\).求点\(s\)到点\(t\)的最短路长度(对\(10^9 + 7\)取模). 题解 思路很简单--用主 ...
- A1051. Pop Sequence
Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, ..., N and p ...