【C++】string

06-01 1479阅读

【C++】string

个人主页:NiKo 

C++专栏:C++程序设计

【C++】string

目录

一、标准库中的string类

二、string的遍历

三、string容量

四、string修改


一、标准库中的string类

1、string类

        C语言中,字符串是以'\0'结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。在OJ中,有关字符串的题目基本以string类的形式出现,而且在常规工作中,为了简单、方便、快捷,基本都使用string类,很少有人去使用C库中的字符串操作函数。 

        在使用string类时,必须包含#include头文件以及using namespace std;

#include 
using namespace std;

2、string的构造方法

string一共有5种构造方法。

  • string()
  • 无参构造,初始化为空串
    ​string str1;                   //空串

    • string(const string& str)
    •  用str拷贝构造

      string str2("hello world");   //用"hello world"拷贝构造str2

      • string(size_t n,char c)
      • 用n个字符c初始化
        string str3(4, 'a');          //用4个字符'a'初始化

        • string(const char* s,size_t n)
        • 用字符串s的前n个字符初始化
          string str4("hello world", 5);     //用字符串"hello world" 前5个字符初始化

          • string(const string& str,size_t pos,size_t len=npos)
          • 将字符串str,从下标pos位置开始,选取长度为len个的字符,来初始化
          • 注:上面的缺省值npos,定义为:size_t npos=-1. npos为最大值,表示不传参数时,会用str中pos位置开始后的所有字符来初始化
            string str5(str2, 5, 6); //用str2中,从下标为5位置开始,长度为6的字符串初始化

            【C++】string

            二、string的遍历

            1、auto和范围for(C++11支持)

            补充auto的相关语法:

                    1、在早期C/C++中auto的含义是:使用auto修饰的变量,是具有自动存储器的局部变量,后来这个不重要了。C++11中,标准委员会变废为宝赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。

            int a = 10;
            auto b = a;
            auto c = 'a';
            auto d = func1(); //auto会自动推导变量的类型
            auto e; // 编译报错:rror C3531: “e”: 类型包含“auto”的符号必须具有初始值设定项
            (必须初始化)
            cout 
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码