3

現在、char および string データ型を分析しています。データ型についてcharは、抜粋した次のコードが有効です。

char value = 'a';
char value1[] = "Good";
char* value2 = "Good";

文字列の場合、

string strValue = "Good";
string strVal[3] = {"Good","Better","Best"};

ただし、以下の代入はコンパイル エラーをスローします。

「エラー: スカラー オブジェクト strPtr には初期化子に 1 つの要素が必要です」

string* strPtr = {"Good","Better","Best"}

string*では、最初に上記に値を割り当てる方法は?

ありがとう、ウダイ

4

3 に答える 3

3

ポインターは配列ではありません。ただし、これを行うことができます

string strVal[3] = {"Good","Better","Best"};
string* strPtr = strVal;
于 2012-07-27T06:07:04.480 に答える
0

これは機能します:

std::string* strPtr{new std::string[3]{"Good","Better","Best"}};

これもコンパイルします

std::string* strPtr{(std::string[3]){"Good","Better","Best"}};

ただし、ポインターを一時的にバインドするため、そうしないでください。

于 2012-07-27T06:09:33.307 に答える
-1

を参照していると思いますstd::string

正しい方法は

std::string *s(new std::string);
// or
std::string *s = new std::string;

文字列へのポインタが必要な場合

std::string s_arr[3] = {"Good","Better","Best"};
string* str_p = s_arr;

文字列の配列の先頭を指すポインターが必要な場合。

于 2012-07-27T06:07:22.773 に答える