我想使用std :: string進行動態字符串處理。數據被追加並附加到一個字符串,有時我不想在索引i處設置字符的值。我不知道有多少字符會被添加到字符串中。像.NET中的動態集合。 當我在分配C++爲std :: string初始化並使用C++ std :: string作爲char數組
std::string s;
,並嘗試在索引i爲它設置元件:
s[0] = 'a';
它將通過與存儲器錯誤。 一個笨方法是初始化它存在的數據,後來換成:
std::string s = generate1000chars();
s[2] = 'c';
有沒有一種方法來初始化字符串,允許索引操作字符我,像一個字符數組?
您在使用前應先[調整](http://www.cplusplus.com/reference/string/string/resize/)的字符串。 – Sergey
如果你想附加一些字符,還可以看看'push_back'和'operator + ='。 – Sergey
我的意思'的std :: string S(1000, 'A');',第二構造函數從[這裏](http://en.cppreference.com/w/cpp/string/basic_string/basic_string)。當然,它應該比調整大小要慢。 – Sergey