string 作为一个类在c++中存在,你可以通过所创建的string对象来调用不同的方法操纵该对象,例如通过+操作符来实习字符串的拼接,等等。也可以获取字符串的属性,例如长度。但是char是作为一个基本类型,一个关键字在c/c++中存在(c++中没有string关键字),char* 很明显也就是一个指针。
char* 是指向字符串的指针(其实严格来说,它是指向字符串的首个字母),你可以让它指向一串常量字符串,例如:
char* str1 = "hello world"
也可以自己分配空间来存储字符串,例如:
char* str2 = new char[12];
后者需要注意的是,在分配空间的时候要考虑的占位,它是字符串结束的标志,所以分配空间的大小至少应该是字符串的长度+1。
现在,你可以发挥你的想象力来对字符串进行操作,例如我需要知道这个字符串的长度,那么最方便的就是调用strlen函数,它会帮助你计算出字符串的长度,当然,你也可以编写自己的函数来对这个字符串进行处理。如果你想要两个字符串拼接起来,你还需要另外再分配空间,然后将字符串逐个添加到新的空间,这一切都需要你自己完成。
所以string的出现就是为了让这一切变得简单,它帮你管理char*,例如:
string strobj1("hello world");
我们把"hello world"常量字符串交给了strobj帮我们打理,你想知道它的长度,就调用length()这个方法。
strobj1.length();
你需要拼接两个字符串,直接使用+操作符就可以了。
strobj2 strobj2("hello cpp"); strobj3 catstr = strobj1+strobj2;
更多的方法,你可以参考:这里想一想,一个+号操作总比写一堆循环来得简单吧。如果你不喜欢这个string类,你还可以自己编写一个。但是你没有办法去重新实现char*。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(1)
string 作为一个类在c++中存在,你可以通过所创建的string对象来调用不同的方法操纵该对象,例如通过+操作符来实习字符串的拼接,等等。也可以获取字符串的属性,例如长度。
但是char是作为一个基本类型,一个关键字在c/c++中存在(c++中没有string关键字),char* 很明显也就是一个指针。
char* 是指向字符串的指针(其实严格来说,它是指向字符串的首个字母),你可以让它指向一串常量字符串,例如:
也可以自己分配空间来存储字符串,例如:
后者需要注意的是,在分配空间的时候要考虑的占位,它是字符串结束的标志,所以分配空间的大小至少应该是字符串的长度+1。
现在,你可以发挥你的想象力来对字符串进行操作,例如我需要知道这个字符串的长度,那么最方便的就是调用strlen函数,它会帮助你计算出字符串的长度,当然,你也可以编写自己的函数来对这个字符串进行处理。如果你想要两个字符串拼接起来,你还需要另外再分配空间,然后将字符串逐个添加到新的空间,这一切都需要你自己完成。
所以string的出现就是为了让这一切变得简单,它帮你管理char*,例如:
我们把"hello world"常量字符串交给了strobj帮我们打理,你想知道它的长度,就调用length()这个方法。
你需要拼接两个字符串,直接使用+操作符就可以了。
更多的方法,你可以参考:这里
想一想,一个+号操作总比写一堆循环来得简单吧。如果你不喜欢这个string类,你还可以自己编写一个。但是你没有办法去重新实现char*。