STL是Standard Template Library的简称,中文名标准模板库。

对于STL的学习,主要是对 string,vector,list,map,set,sort,reverse的使用。

一.

  首先,来介绍基本的string。

string类实际上是模板具体化的basic_string<char>的一个typedef。在使用时必须有#include <string> 头文件,基本的声明 string name;,之后将介绍一些 他的方法

string str;
    string s1="baudelaire";//声明一个s1的字符串
    string s(s1); //这种方法可以将s1直接赋值给s 
//    cout<<s;
    string s2(s1,4); //从s1[4]开始赋值给s2 
//    cout<<s2;
    string s3(s1,4,5); ////从s1[4]开始赋值给s3,且长度仅为5 
//    cout<<s3;
    string s4(4,'a');//生成一个字符串,包含4个a 
    cout<<s4;
// string对象的操作
     string t;
    t.empty(); //若t为空的字符串,则返回True
    t.size(); // 返回字符串个数
    string t1;
    t1=t+s; //string支持直接的相加,相当于串联
    t1=t; //把t中的内容直接赋值给t1;
//string类函数
    s.append(),s.push_back() //都是在尾部添加字符
    s.insert() //插入字符
    s.erase() //删除字符
    s.clear() //删除全部字符
    s.replace() //替换字符
    s.length() //效果等同于s.size 相当于 求字符串的长度
    s.assign() //相当于赋值
    //这里对assign进行拓展延伸
    s.assign(str) //相当于把str赋值给s
    s.assign(str,1,3) //把str中str[1]到str[3]中的字符赋值给s
    s.assign(5,'x') //把5个x赋值给s 

对于string类型比较的说明,它是根据字典序的,逐个比较,字典排序靠前的字符小,比较的顺序是从前向后比较,遇到不相等的字符就按这个位置上的两个字符的比较结果确定两个字符串的大小。 

对于插入元素,这里介绍一下

string s="Baudelaire";
     s.insert(0,"my name"); //0为索引,后面为所加的字符串,放在s[0]之前 
     cout<<s; 

对string的基本使用就介绍到这了,还有很多的内容需要大家继续探索