string及数组的相关笔记

本文详细介绍了C++中string类的基本用法,包括初始化、读写、比较、操作等核心特性,并与数组进行对比,探讨两者在实际编程中的高效应用策略。

  • 关于String

1.使用string类必须先包括string头文件,作为标准库的一部分,string定义在命名空间std中;

2.初始化string对象有两种方法,直接初始化和拷贝初始化(使用等号);

3.string 类对象的相关操作

使用IO操作符读写;iostream中的cin及cout,读取过程中会自动忽略开头的空白从第一个真正的字符开始读起直到读到下一个空白为止;

利用while(cin)读取未知数量的string对象;循环直到遇到文件结束标记或者非法输入字符;

利用getline(输入流,string对象)读取一整行,最终保留字符串中的空白输入,把读取的内容(包括换行符)存入到对象中(不包括换行符)

string的empty(返回bool类型)、size(返回string::size_type类型)操作。如果一条表达式有size()函数就不要再使用int了,避免int和unsigned int混用带来的问题

利用相等型运算符及关系运算符按照字典顺序对string类对象进行比较

允许string对象之间直接赋值

允许string对象之间直接相加

允许字面值和string对象之间相加:string对象+字面值结果还是一个string对象,可以继续和一个字面值相加;

使用基于范围的for语句处理每一个字符,可以使用auto指明string对象序列中每个变量的类型;

使用基于范围的for语句改变字符的值,需要将循环变量定义成引用类型

  • 关于数组
1.可以使用字符串字面值(双引号括起来的0个或多个字符)对字符数组初始化,数组会自动添加表示字符串结束的空字符;
2.C标准库String函数包括 strlen、strcmp、strcpy、strcat,传入这类函数的指针必须是以空字符作为结尾的数组;
3.利用strcmp函数比较c风格字符串,因为这类对象在进行比较的时候实际上是在比较指针而非字符串本身,所以不能利用标准库string对象的比较方法;
4.利用strcat、strcpy连接或拷贝c风格字符串;
5.利用c_str将string 对象直接初始化成指向字符的指针





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值