🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀
目录
🐰string类
🏡string类的简介
使用string类,必须在程序中包含头文件string。string类位于命名空间std中,因此必须提供一条using编译指令,或使用string::string来引用它。string类定义隐藏了字符串数组的性质,就可以处理普通变量那样处理字符串。
string对象和字符数组之间的主要区别是,可以将string对象声明为简单变量,而不是数组:
1. string str1; 2. string str1="hello C++!";
类设计可以自动处理string类型的大小。例如,str1的声明创建一个长度为0的string对象,但程序将输入读取到str1时,将自动调整str1的长度:
1. string str1;//str1的长度为0 2. cin>>str1;//长度发生了变化
这和使用数组相比,使用string对象更方便,也更安全。其实可以将字符数组看作一组存储一个字符串的char存储单元,而string类变量是一个表示字符串的实体
🏡C++11字符串的初始化
C++11也允许将列表初始化用于C风格的字符串和string对象
1. char data1[]={"hello C!"}; 2. char data2[]{"hello C!"}; 3. string Data1={"hello C++!"}; 4. strinf Data2{"hello C++!"};
🏡string类型中的赋值、拼接和附加
使用string类时,某些操作比使用数组时更加简单。例如,不能将一个数组赋给另一个数组,但可以将一个string对象赋值另一个string对象
1. char arr[20]; 2. char brr[20]={"Hello C!"}; 3. arr=brr//不可以这样做,这样编译是错的 4. //数组的赋值应该是 5. strcpy(arr,brr);//利用拷贝函数实现数组的赋值 6. string str1; 7. string str2={"Hello C++!"}; 8. str1=str2;//这样是完全正确的,C++里是允许的
string类简化了字符串合并的操作。可以使用运算符+将两个string对象合并起来,还可以使用运算符+=将字符串附加到string对象的末尾。
1. string str3; 2. str3=str1+str2; 3. str1+=str2;
例如:
1. #include<iostream> 2. #include<string> 3. using namespace std; 4. int main() 5. { 6. string str1="Hello "; 7. string str2="C++!"; 8. string str3; 9. str3=str1+str2; 10. cout<<"str3=str1+str1:"<<str3<<endl; 11. str1+=str2; 12. cout<<"str1+=str2:"<<str1<<endl; 13. return 0; 14. } 15. 结果: 16. str3=str1+str1:Hello C++! 17. str1+=str2:Hello C++!
🏡string的其他操作
两种确定字符串中字符数的方法:
1. int lenth1=str1.lenth(); 2. int lenth2=str2.size();
🏡string类I/O
可以使用cin和运算符>>来输入存储到string对象中,使用cout和运算符<<来显示string对象。但每次读取一行而不是一个单词。
用户输入之前,str1中的字符串的长度为0,这是因为未被初始化的string对象的长度自动被设置为0
下面将一行输入读取到string对象中
getline(cin,str);
cin>>str1//处理string对象的代码使用string类的一个友元函数。
🌸🌸🌸如果大家还有不懂或者建议都可以发在评论区,我们共同探讨,共同学习,共同进步。谢谢大家! 🌸🌸🌸