我目前正在分析字符和字符串数据类型。对于char
数据类型,以下代码片段适用:
char value = 'a';
char value1[] = "Good";
char* value2 = "Good";
对于字符串,
string strValue = "Good";
string strVal[3] = {"Good","Better","Best"};
但是下面的任务会引发编译错误:
"error: scalar object strPtr requires one element in initializer"
string* strPtr = {"Good","Better","Best"}
那么,如何最初为上述的
string*
分配值呢?谢谢, Udhai
char* value2 = "No good";
- Benjamin Lindleystring *
赋值的是已经定义或至少声明了的string
变量。 - ChiefTwoPencilsstring* strPtr = {"Good","Better","Best"}
的使用场景是什么?如果你声明为string[]
,你可以将其赋值给string*
,所以通常不需要这样做。由于这种初始化方式将数组放在堆栈上(因此不能调用delete[]
删除指针),稍后重新分配指针到通常在堆上分配的内容会带来麻烦。 - Axel