【C++】string
个人主页:NiKo
C++专栏:C++程序设计
目录
一、标准库中的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的字符串初始化
二、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,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。