stl入门 --string类

主要有:vector  , algorithm

容器    ,可以存储基本数据类型,也可以存储指针,类  

vector<int> v1 ,  v1.push_back(1)  v1.push_back(1) v1.push_back(1) 把 1.2.3 存储进容器。

vector<int>::iterator  it  = v1.begin();定义一个迭代器(一个指针)。  可以使用 it++ ,从v1.begin() 到v1.end()遍历该容器。


序列式容器:vector .  deque.  list  元素位置取决于插入时机

关联式容器: set  multiset  map  multimap  元素位置取决于特定的排序准则,和插入顺序无关。


string 类的初始化:

    string s1 = "aaaaa" ;

    string s2("bbbbbb");

    string s3 = s1 ; 

    string s4(10,'a')   初始化为10个a

string 类的遍历:

    <1> 数组方式, for( int i =0 ;  i< s1.length() ;  i++) 

     <2> 迭代器  , for( string::iterator it = s1.begin();  it != s1.end();  it++)

string中去字符  :

    <1>   []            越界会终止

     <2> s1.at(1)     ,越界会抛出异常。

string转化为 char * ,即内存首地址。       s1.c_str()   ;

将string中的内容拷贝到某一内存空间中。char buff[128] ;  s1.copy( buff, 3 ,0 ) 从第一个字符开始拷贝。索引从0开始。

字符串连接

 string s1="aaaa" ;  string s2 ="bbbb" ;   

<1>  s1 = s1+s2 ;  

<2> s1.append(s2) ;

字符串查找或字符查找:

s1.find("str1",0)  ,从索引0开始查找,返回地第一次出现的索引。

字符串替换:

s1.replace(pos, n , "str1")  从索引pos开始删除n个字符,并插入str1

字符串删除:

string::iterator  it   =  find(s1.begin() , s1.end() , 'a' ) 

if ( it != s1.end() )   s1.erase(it)  , 删除第一个a 。

字符串插入:

s1.insert(pos , "str2") ;

transform(s1.begin(), s1.end(), s1.begin(), function )  将s1从头到尾进行function转化,并存入s1.begin .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值