美文网首页
C++面向对象之string类的使用详解

C++面向对象之string类的使用详解

作者: 随波逐流007 | 来源:发表于2016-10-09 17:55 被阅读15次

1.包含头文件string,使用命名空间;

2.声明和定义string。

1)声明一个string类型的变量str1;

2)声明并定义一个string类型的变量str2;

3)声明并定义一个string类型的变量str3;

4)声明并定义一个string类型的变量str4;

5)声明并定义一个string类型的变量str5,它的值为十个a;

6)利用变量str5创建str6,两个变量是一样的内容。

3.字符串的加法

字符串的加法操作将字符串连接,加号后面的字符串会拼接到前面的字符串后面。前面两种都至少有一个string变量,加法连接无法连接两个string类型的常量。所以加法操作的正确做法就是保证两个操作数中至少有一个string变量。

4.字符串的比较

这些表达式会返回一个bool类型的值。

5.字符串的一些常用方法

Size() //返回字符串的长度Str[n]; //下标访问数据,0~n~size-1empty() //判断字符串是否为空

6.字符串的实例

文本编辑器:创建一个程序,将我们输入的每一行的数据拼接到一个字符串后面。

测试代码如下:

#include//输入输出流的包含#include//string类的包含using namespace std; //命名空间的使用int main() {String str; //接收我们输入的所有字符串String str1; //保存每一行的字符串,用来拼接到str后面int nLine=0; //统计我们输入的行数while(getline(cin,str1)) { //getline(cin,str1)是一个有两个参数的每一获取一行字符串的函数,cin代表它是从输入流中读取数据,str1是将读取的一行数据保存到str1中if(str1==”q”) { //如果我们输入q,就停止输入break; //跳出循环}str+=str1; str+=”\n”; //字符串的拼接,由于str1中是不会将换行符读取进去的,所以为了输出的时候保持我们输入时候的每一行格式,我们手动在输入的每一行字符后面添加一个换行符保存在每一行后面,换行符也是一个字符,这样输出的时候会自动换行nLine ++; //统计行数}cout<<”total chars:”<

运行结果如下:不知道大家注意到一个细节没有,我们输入了23个字符,size函数统计结果显示为26个,还有三个字符就是我们行末尾的换行符。我们前面就提到过,C风格的字符串的结尾中总是有一个结尾标志\0,如果我们对c风格的字符串使用cout输出,可以预想它遇到\0是会认为这个字符串已经结束了,但是这里对string类型的字符串就没有结束标志,只会按照字符串的大小来输出。

string是一个类,它的内部也是使用c风格的字符串来实现的,可以用一个方法来获得它的C风格的字符串的常量指针。String类型的字符串的长度是可以自动增加的,当我们在对字符串进行拼接时,如果它原来的的空间不够,会自动销毁这一片空间,然后重新分配一段更大的空间。String类的内部是可以自动管理内存的释放和分配的。如果一旦内存进行了重新分配和释放,那么你原来获得的常量指针指向的地址就是无效的了,这个时候你对p的操作就是有风险的,所以说我们尽量不要去使用它。

const char *p=str.c_str(); //返回的是常量字符指针,所以只能读不能写

原文链接:http://www.maiziedu.com/wiki/cplus/string/


相关文章

  • C++面向对象之string类的使用详解

    1.包含头文件string,使用命名空间; 2.声明和定义string。 1)声明一个string类型的变量str...

  • CPP基础:面向对象编程

    面向对象编程 类 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核...

  • C++ — 类 & 对象超详解

    C++ 类 & 对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ ...

  • C++零基础教程之类和对象初识

    C++ 类和对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核...

  • C++面向对象

    C++类和对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心...

  • cpp面向对象

    面向对象编程 [TOC] 类 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 ...

  • C++ 类 & 对象

    原文地址:C++ 类 & 对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是...

  • C++系列之面向对象

    C++类&对象 C++类定义 类&对象详解 概念描述类成员函数[https://www.runoob.com/cp...

  • C++面向对象基础(二)

    目录 C++ 基础(一) C++面向对象基础(二) 一、类 C++ 中可以使用 struct、class 来定义一...

  • C++ 面向对象 一

    C++ 面向对象 c++创建对象的时候如果使用new运算符,将会返回返回一个指针,指向堆中的内存地址 类,对象类定...

网友评论

      本文标题:C++面向对象之string类的使用详解

      本文链接:https://www.haomeiwen.com/subject/yyfmyttx.html