3
std::string test("this is a test string");
test[0] = 'b';

上記のコードのように、文字列の一部が変更されています。コンパイラは新しい文字列を生成しますか、それとも古い文字列を変更しますか?

4

7 に答える 7

2

既存の を変更しstringます。

于 2013-07-17T07:44:02.707 に答える
1

test std::string変更できるので「bhis is a test string」になります。文字列の作成に使用される文字列リテラル"this is a test string"は変更されません。

于 2013-07-17T07:52:12.610 に答える
0

のコンストラクターはstring文字配列をコピーします。2 行目はそのコピーを変更します。

于 2013-07-17T07:46:55.607 に答える