c++中的stl
- String
- Vector
- Set
- List
- Map
1.string
char* s1 = "Hello SYSU!"; //创建指针指向字符串常量,这段字符串我们是不能修改的 //想要创建 可以修改的字符串,我们可以使用数组分配空间
char s2[] = "Hello SYSU!"; //或者这样 char s3[] = "Hello SYSU!";
//当然我们也可以动态分配内存
char* s4 = (char*)malloc(); gets(s4);
c++中,我们可以使用string
初始化
string s1;
string s2 = s1;
string s2(s1);
string s3 = “hello world”;
string s3(“hello world”);
string s4(,’a’);
string s4 = string(,’c’);
操作
os<<s;
is>>s;
getline(is,s)
s.empty();
s.size();
s[n];
s1 + s2
s1 = s2
s1 == s2;
s1 != s2;
<,<=,>,>= Hello world
Cin>>s1>>s2; String s1;
Getline(cin,s1);
当把string对象和字符面值及字符串面值混在一条语句中使用时,必须确保+的两侧的运算对象至少有一个是string
迭代器访问元素
*iter
Iter-mem
++ iter
--iter
Iter1 == iter2
Iter1 != iter2
可以认为迭代器就是指针
Find(s1,pos)
String::npos
Erase();
2.Vector
初始化
Vector<T> v1
Vector<T> v2(v1)
Vector<T> v2 = v1;
Vector<T> v3(n,val);
Vector<T> v4(n);
Vector<T> v5{a,b,c,d,e,f};
Vector<T> v5 = {a,b,c,d,e,f};
操作
V.empty()
v.size();
v.push_back(t);
v.pop_back();
v.erase(pos);
v.clear();
v.insert(pos,num,content);
v[n];
v1 = v2;
v1 = {a,b,c};
v1 == v2;
v1 != v2;
<,<=,>,>= for (vector<string>::reverse_iterator iter = v6.rbegin(); iter != v6.rend(); iter++) { cout << *iter << endl; }
3.set
4.list双链表
forward_list单链表
5.map
c++中的stl的更多相关文章
- DLL中传递STL参数(如Vector或者list等)会遇到的问题[转载]
最近的一个项目中遇到了调用别人的sdk接口(dll库)而传给我的是一个vector指针,用完之后还要我来删除的情况.这个过程中首先就是在我的exe中将其vector指针转为相应指针再获取vector中 ...
- ubuntu下安装pthread的manpages(man 手册) 在Ubuntu中查看STL帮助
http://blog.csdn.net/leisure512/article/details/4881391 由于学习多线程编程,所以用到pthread,但是man的时候却发现没有pthread函数 ...
- 不要在公共接口中传递STL容器
最近的一个项目,是开发一个framework,提供给公司内部不同的产品线使用. 之间遇到的一个问题,就是STL容器的使用, 而结论是不要在公共接口中传递STL容器: 这里说的STL容器,但主要则是指容 ...
- DLL中传递STL参数,vector对象作为dll参数传递等问题(转)
STL跨平台调用会出现很多异常,你可以试试. STL使用模板生成,当我们使用模板的时候,每一个EXE,和DLL都在编译器产生了自己的代码,导致模板所使用的静态成员不同步,所以出现数据传递的各种问题,下 ...
- C++中的STL中map用法详解(转)
原文地址: https://www.cnblogs.com/fnlingnzb-learner/p/5833051.html C++中的STL中map用法详解 Map是STL的一个关联容器,它提供 ...
- C++中的STL大法整理
C++中的STL大法整理 由于碰到了一些不知道怎么用的STL vector vector是数组的STL,对于普通数组的优势就在于,可以动态地变化数组长度.那么面对一些数据范围非常大而又可以边读入边处理 ...
- 标准C++中的STL容器类简单介绍
SGI -- Silicon Graphics[Computer System] Inc.硅图[计算机系统]公司. STL -- Standard Template Library 标准模板库. ...
- DLL中导出STL模板类的问题
接上一篇. 上一篇的dll在编译过程中一直有一个警告warning C4251: ‘CLASS_TEST::m_structs’ : class ‘std::vector<_Ty>’ ne ...
- C++中的STL中map用法详解
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时 ...
- VTK中获取STL模型点的坐标以及对其进行变换
VTK是一个基于面向对象的开源三维绘图软件包,和其它的的三维绘图引擎如OSG.OGRE不同之处在于,VTK可视化对象主要是各种数据,更加注重对数据分析处理后的可视化,可视化的内容是人们无法直接感受到的 ...
随机推荐
- UVa 10795 - A Different Task 对称, 中间状态, 数位DP 难度: 3
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...
- Java实现将数字转为大写汉字
public class Int2Big { static String int2big(int src) { final String num[] = {"零", "壹 ...
- vue-router-5-命名路由
创建 Router 实例的时候,在 routes 配置中给某个路由设置名称 const router = new VueRouter({ routes: [ { path: '/user/:userI ...
- jQuery操错题积累
1: 解析: onBlur:焦点移除事件. onfocus:定义和用法 onfocus 事件在对象获得焦点时发生 onchange:定义和用法 onchange 事件会在域的内容改变时发生 nclic ...
- 3.1 C++继承的概念及语法
参考:http://www.weixueyuan.net/view/6358.html. 总结: 继承可以理解为一个类从另一个类获取方法(函数)和属性(成员变量)的过程. 被继承的类称为父类或基类,继 ...
- 04 复制删除行为IDA反汇编
(很久以前的学习记录,放到博客上来) (IDA5.0版的不知道为何反汇编进去每一行被截断的景象,惨不忍睹......明明是个正版的.只好回来用拷过来的破解版,依然有一些叽里呱啦的问题,懒得管了, ...
- DevExpress v18.1新版亮点——XAF篇(二)
用户界面套包DevExpress v18.1日前正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress eXpressApp Framework(XAF) v18.1 ...
- 多War包合并,jetty测试
模块间的相互依赖引用配置在pom.xml中加入要依赖的模块即可<dependency> <groupId>com.exayong</groupId> & ...
- matlabR2017安装
安装教程参考: https://blog.csdn.net/m0_37638031/article/details/78982498
- L296 EST 科技英语翻译-美学取向 (上)
tips:对语言进行恰如其分的润饰,讲究词法.句法及篇章的粘连,增加可读性. 1 Accuracy 精确性 科技文章用词要求准确,尽量避免含糊不清和一词多义 dead air静空气 2 Paralle ...