c++ string类详细解读

本文详细介绍了C++中string类的构造方法、赋值操作、下标和迭代器遍历、常用成员函数如size(),reserve(),resize(),append(),erase(),swap(),c_str(),substr(),find()等,以及它们的用法和注意事项。
摘要由CSDN通过智能技术生成
一、构造函数
  • string 默认构造方式

  • string(const string& str)

  • string(const string &str,size_t pos,size_t len=npos);

  • string(const char *s);

  • string(const char *s,size_t n);

  • string(size_t n,char c);

二、赋值函数
  • string &operator=(const string &str)

  • string & operator=(const char *s)

  • string & operator=(char c);

三、遍历方法
  • []+ 下标 遍历方式

  • 利用迭代器遍历

    • end() 、begin()函数

    • 迭代器 string::iterator it=s.begin()

  • 范围遍历

    • for(auto ch :s){
          cout<<ch<<endl;
      }
  • 反向迭代器

    • rbegin() 返回string字符串的最后一个有效字符

    • rend()返回的是string字符串的第一个字符的前面

    • 注意:使用的也是++

四、常用函数
  • s.size()

    • 返回string对象的有效的字符个数

  • s.capacity()

    • 返回string对象的容量

  • s.reserve()

    • 扩容函数,可以增大capacity的值,不会对没有初始化内容进行初始化

  • s.resize()

    • resize(size_t n) resize(size_t n,char c);

    • 改变的是size的大小,当然size的变大也导致capacity的相对应的变大,会对未初始化的位置进行初始化

  • s.push_back(char c)

    • 插入字符

  • s.append()函数

    • string & append(const string & str);

    • string & append(const string & str,size_t subpos,size_t sublen);

    • string & append(const char *s);

    • string & append(const char* s,size_t n);

    • string & append(size_t,char c);

  • += 运算符

    • string & operator+=(const string & str)

    • string & operator+=(const char *s)

    • string & operator+=(char c)

  • erase函数

    • string & erase(size_t pos=0,size_t len=npos)

    • string & erase(iterator first,iterator last)

    • string & erase(iterator p) 删除后面所有的

  • pop_back 函数

    • string & pop_back()删除对象尾部

  • swap函数

    • void swap(string &str)

  • c_str 函数

    • 可以返回string 对象对应的char * 指针

  • subtr 函数

    • string substr(size_t pos=0,size_t len=nops) const

  • find函数

    • find(const string & str,size_t pos) const

    • find(const char *s,size_t pos=0) const

    • find(const char*s ,size_t pos,size_t n) const

    • find(char c ,szie_t pos=0) const

  • rfind函数

    • find是顺着查找,rfind是倒着查找

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值