• 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的更多相关文章

  1. DLL中传递STL参数(如Vector或者list等)会遇到的问题[转载]

    最近的一个项目中遇到了调用别人的sdk接口(dll库)而传给我的是一个vector指针,用完之后还要我来删除的情况.这个过程中首先就是在我的exe中将其vector指针转为相应指针再获取vector中 ...

  2. ubuntu下安装pthread的manpages(man 手册) 在Ubuntu中查看STL帮助

    http://blog.csdn.net/leisure512/article/details/4881391 由于学习多线程编程,所以用到pthread,但是man的时候却发现没有pthread函数 ...

  3. 不要在公共接口中传递STL容器

    最近的一个项目,是开发一个framework,提供给公司内部不同的产品线使用. 之间遇到的一个问题,就是STL容器的使用, 而结论是不要在公共接口中传递STL容器: 这里说的STL容器,但主要则是指容 ...

  4. DLL中传递STL参数,vector对象作为dll参数传递等问题(转)

    STL跨平台调用会出现很多异常,你可以试试. STL使用模板生成,当我们使用模板的时候,每一个EXE,和DLL都在编译器产生了自己的代码,导致模板所使用的静态成员不同步,所以出现数据传递的各种问题,下 ...

  5. C++中的STL中map用法详解(转)

    原文地址: https://www.cnblogs.com/fnlingnzb-learner/p/5833051.html C++中的STL中map用法详解   Map是STL的一个关联容器,它提供 ...

  6. C++中的STL大法整理

    C++中的STL大法整理 由于碰到了一些不知道怎么用的STL vector vector是数组的STL,对于普通数组的优势就在于,可以动态地变化数组长度.那么面对一些数据范围非常大而又可以边读入边处理 ...

  7. 标准C++中的STL容器类简单介绍

    SGI -- Silicon Graphics[Computer System] Inc.硅图[计算机系统]公司. STL -- Standard Template Library 标准模板库.   ...

  8. DLL中导出STL模板类的问题

    接上一篇. 上一篇的dll在编译过程中一直有一个警告warning C4251: ‘CLASS_TEST::m_structs’ : class ‘std::vector<_Ty>’ ne ...

  9. C++中的STL中map用法详解

    Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时 ...

  10. VTK中获取STL模型点的坐标以及对其进行变换

    VTK是一个基于面向对象的开源三维绘图软件包,和其它的的三维绘图引擎如OSG.OGRE不同之处在于,VTK可视化对象主要是各种数据,更加注重对数据分析处理后的可视化,可视化的内容是人们无法直接感受到的 ...

随机推荐

  1. IIS发布网站,访问时出现无法识别的属性“targetFramework”错误

    今天在IIS发布网站后,访问时出现无识别的属性“targetFramework”错误 错误描述: 错误原因: 是由IIS配置该站点的.NET Framework 版本与程序中的.NET Framewo ...

  2. Java自动装箱中的缓存原理

    今天看到一道'经典'面试题: Integer a = 100; Integer b = 100; System.out.println(a==b); Integer a2 = 200; Integer ...

  3. win10与centos7的双系统U盘安装(二:安装以及配置centos系统)

    继续第一篇的讲解,接着就是要进入第二部分——安装以及配置centos系统 特别提醒在安装centos之间,注意自己的win10系统进行备份,便于回复安装失败后的系统 1:安装前准备 安装前准备主要是两 ...

  4. [Codeforces513E2]Subarray Cuts

    Problem 给定一个长度为n的数字串,从中选取k个不重叠的子串(可以少选),将每个串求和si 求max|s1 - s2| + |s2 - s3| + ... + |sk - 1 - sk|(n & ...

  5. caffe的一些概念理解

    有一天,师姐问我,epoch和iteration有什么区别?我一时语塞,竟然遍寻百度而不得,最后在stackoverflow上找到一个我认为比较靠谱的答案,虽然它不是最高票,但是是最好理解的,深得我心 ...

  6. Cracking The Coding Interview 9.7

    //原文: // // A circus is designing a tower routine consisting of people standing atop one another's s ...

  7. 玩转X-CTR100 l STM32F4 l AT24C02 EEPROM存储

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器 板载EEP ...

  8. Centos7部署kubernetes API服务(四)

    1.准备软件包 [root@linux-node1 bin]# pwd /usr/local/src/kubernetes/server/bin [root@linux-node1 bin]# cp ...

  9. 火狐下,td 的 bug;

    想实现类似的效果,看代码, <div style="width:488px;float:left; margin:-52px 0px 15px 15px;"> < ...

  10. iframe 常见问题 解析

    1. jquery在iframe子页面获取父页面元素代码如下: $("#objid",parent.document) 2. jquery在父页面获取iframe子页面的元素代码如 ...