C++中string类

🐶博主主页:@ᰔᩚ. 一怀明月ꦿ 

❤️‍🔥专栏系列:线性代数C初学者入门训练题解CC的使用文章「初学」C++数据结构

🔥座右铭:“不要等到什么都没有了,才下定决心去做”

🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀

目录

🐰string类

🏡string类的简介

🏡C++11字符串的初始化

🏡string类型中的赋值、拼接和附加

🏡string的其他操作

🏡string类I/O


🐰string类

🏡string类的简介

使用string类,必须在程序中包含头文件string。string类位于命名空间std中,因此必须提供一条using编译指令,或使用string::string来引用它。string类定义隐藏了字符串数组的性质,就可以处理普通变量那样处理字符串。

string对象和字符数组之间的主要区别是,可以将string对象声明为简单变量,而不是数组:

string str1;
string str1="hello C++!";

类设计可以自动处理string类型的大小。例如,str1的声明创建一个长度为0的string对象,但程序将输入读取到str1时,将自动调整str1的长度:

string str1;//str1的长度为0
cin>>str1;//长度发生了变化

这和使用数组相比,使用string对象更方便,也更安全。其实可以将字符数组看作一组存储一个字符串的char存储单元,而string类变量是一个表示字符串的实体

🏡C++11字符串的初始化

C++11也允许将列表初始化用于C风格的字符串和string对象

char data1[]={"hello C!"};
char data2[]{"hello C!"};
string Data1={"hello C++!"};
strinf Data2{"hello C++!"};

🏡string类型中的赋值、拼接和附加

使用string类时,某些操作比使用数组时更加简单。例如,不能将一个数组赋给另一个数组,但可以将一个string对象赋值另一个string对象

char arr[20];
char brr[20]={"Hello C!"};
arr=brr//不可以这样做,这样编译是错的
//数组的赋值应该是
strcpy(arr,brr);//利用拷贝函数实现数组的赋值
string str1;
string str2={"Hello C++!"};
str1=str2;//这样是完全正确的,C++里是允许的

string类简化了字符串合并的操作。可以使用运算符+将两个string对象合并起来,还可以使用运算符+=将字符串附加到string对象的末尾。

string str3;
str3=str1+str2;
str1+=str2;

例如:

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string str1="Hello ";
    string str2="C++!";
    string str3;
    str3=str1+str2;
    cout<<"str3=str1+str1:"<<str3<<endl;
    str1+=str2;
    cout<<"str1+=str2:"<<str1<<endl;
    return 0;
}
结果:
str3=str1+str1:Hello C++!
str1+=str2:Hello C++!

🏡string的其他操作

两种确定字符串中字符数的方法:

int lenth1=str1.lenth();
int lenth2=str2.size();

🏡string类I/O

可以使用cin和运算符>>来输入存储到string对象中,使用cout和运算符<<来显示string对象。但每次读取一行而不是一个单词。

用户输入之前,str1中的字符串的长度为0,这是因为未被初始化的string对象的长度自动被设置为0

下面将一行输入读取到string对象中

getline(cin,str);

cin>>str1//处理string对象的代码使用string类的一个友元函数。

 🌸🌸🌸如果大家还有不懂或者建议都可以发在评论区,我们共同探讨,共同学习,共同进步。谢谢大家! 🌸🌸🌸  

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值