C++关于string的详细讲解

03-01 1389阅读

文章目录

  • 一、string类的介绍
  • 二、string类的使用
    • 1.string的构造函数
    • 2.string的赋值函数
    • 3.string的遍历方法
      • (1)[]+下标遍历
      • (2)利用迭代器遍历
      • (3)范围for遍历
      • 4.反向迭代器
      • 5.const修饰的迭代器
      • 6.size()函数和capacity()函数
      • 7.reverse和resize
      • 8.string的插入操作
        • (1)push_back函数
        • (2)append函数
        • (3)+=运算符
        • (4)insert函数
        • 9.string的删除操作
          • (1)erase函数
          • (2)pop_back
          • 10.string的swap函数
          • 11.c_str函数
          • 12.substr函数
          • 13.string的查找函数
            • (1)find函数
            • (2)rfind函数
            • (3)查找函数的使用
            • 14.getline函数

              一、string类的介绍

              C++中的string类是字符串类,它在C++中非常常用,有了string类以后,我们不需要像C语言那样定义字符数组来表示字符串,操作起来是非常方便的,因为string类底层已经将增、删、查、改以及扩容这些机制封装好了,我们只需要直接使用即可。

              string类其实是basic_string模板类的一个实例,它是用char来实例化basic_string模板类。string类本质上就是一个可以管理动态增长的字符数组的类,并且这个字符数组以 ‘\0’ 结尾。

              C++关于string的详细讲解

              二、string类的使用

              1.string的构造函数

              string一共有7个构造函数,我们一般常用的构造函数是下图中的第一个函数即无参构造函数,第二个函数即拷贝构造函数,第四个函数即参数是常量字符串的构造函数。

              C++关于string的详细讲解

              下面我们举个小例子来实现以下string的构造:

              #include 
              #include 
              using namespace std;
              int main()
              {
                  string s1();// 无参构造函数
                  string s2("hello world");// 常量字符串构造函数
                  string s3(s2);// 拷贝构造函数
                  // 拷贝构造还可以写成下面这样子
                  string s4 = s2;
                  return 0;
              }
              

              2.string的赋值函数

              string提供了三种赋值函数,分别是通过string对象赋值给string对象,通过常量字符串赋值给string对象,通过字符赋值给string对象。

              C++关于string的详细讲解

              下面我们用代码演示一下这三种赋值函数的使用方法:

              #include 
              #include 
              using namespace std;
              int main ()
              {
                  string s1("hello");
                  string s2;
                  s2 = s1;
                  cout 
                  string s("hello world");
                  for (size_t i = 0; i 
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]