c++ string

来源:百度知道 编辑:UC知道 时间:2024/05/14 01:46:16
string i; i = "abc"可以
string *i; i="abc"就不可以

请问为什么啊
为什么只有这样才能给 string 指针附值

string *i;
i = new string("abc");

string *i; i="abc"就不可以
这里i是一个指针,而"abc"在这里只是一个简单的字符串,便于理解,你可以将其理解为string型数据.
所以,等同于:
int *p = 8;
你将一个变量的值直接赋给了一个指针,当然会出错.
int *p = new int(8);
这样就是正确的了.

string *i;
*i="abc";