首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么区别字符串char*与string*

2012-02-22 
如何区别字符串char*与string*?在c++中,如何区别字符串char*,string与string*,它们跟在cout 后面有何异

如何区别字符串char*与string*?
在c++中,如何区别字符串char*,string与string*,它们跟在cout < <后面有何异同?在结构上及效率上有什么区别?怎样使用才能清晰而不错?简单例子说明之。

[解决办法]
string是个类,char是基本类型,string*和char*是指向两者的指针
[解决办法]
string的效率较char数组低
[解决办法]
string是一个STL封装的类,推荐使用,有很多现成的处理字符串的方法,很方便。
[解决办法]
string包含了char*,他主要作用就是管理这个字符串,本身不是一个字符串。 写了他们的相互转换
#include <string>
#include <iostream>
using namespace std;


int main()
{
char p[] = "rrrrrrr ";
cout < <p < <endl;
cout < <strlen(p) < <endl;
string a( "rrrrrrr ");
cout < <a.length() < <endl;
const char *c = a.c_str();
cout < <c < <endl;
system( "pause ");
return 0;
}

你看看http://www.7880.com/Info/Article-5a7c5e20.html
[解决办法]
把char* 和string*看成是两种方法,什么时候用到其中之一视具体情况而定,方便高效是编写代码的指针。
至于区别,ls的已经说的很清楚了。
[解决办法]
string是标准模板库里面的类型 ,是对char*的封装,以及一些操作
建议多用string

两者的转化
string str = "Chinese ";
char* buf = new char[str.length ()+1];
strcpy (buf, str.c_str ());
//using buf
delete[] str;
[解决办法]
string是C++ style的字符串(是一个basic_string的别名。可以查看源代码~)
char *是C style的字符串
cout支持两种风格的输出
string *是string的指针

热点排行