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可视化对象主要是各种数据,更加注重对数据分析处理后的可视化,可视化的内容是人们无法直接感受到的 ...
随机推荐
- learning ddr state diagram
- 【转载】java对象和byte数组互转,直接拿去用
//加了了Optional防止空指针异常,加入了泛型,省去了强制转化 import java.io.*; import java.util.Optional; /** * Created by Jas ...
- VS2015 C#调用C++ 托管代码无法调试问题排查
C#引用C++ 部份代码编绎DLL,调试时,无法命中C++ 代码部份,解决方式: 1. 调试-> 选项->调试->常规 : 勾选 [使用托管兼容模式] (同时点击 同级目录 [符号] ...
- python验证代理IP
接上一篇保存的IP地址,进行验证 # -*- coding: utf-8 -*- import requests from threading import Thread import threadi ...
- SQL-26 (二次分组)汇总各个部门当前员工的title类型的分配数目,结果给出部门编号dept_no、dept_name、其当前员工所有的title以及该类型title对应的数目count
题目描述 汇总各个部门当前员工的title类型的分配数目,结果给出部门编号dept_no.dept_name.其当前员工所有的title以及该类型title对应的数目countCREATE TABLE ...
- easyui再学习的一部分代码
<%-- Created by IntelliJ IDEA. User: zhen Date: // Time: : To change this template use File | Set ...
- DataTable数据统计方法
调用方法: public object Compute(string strExpression,string strFilter) 参数说明: strExpression:要计算的表达式字符串,基本 ...
- C++ operator new 重载(两个参数)
#include <iostream> class A { public: int i; public: void* operator new (size_t a, size_t b) { ...
- winform 使用线程
我这里写一个线程里创建一个窗体调用父窗体的方法 private void button4_Click(object sender, EventArgs e) { button4.Text = &quo ...
- Notepad++同一窗口显示左右显示两份文档
Notepad++同一窗口显示左右显示两份文档 直接打开一份文档,test1.txt 再打开第二份文档,test2.txt,会显示成这样: 两份文档是以标签的形式展示的,有时需要同时查看两份文档, ...