Я хочу изменить строку C++ с определенным индексом, например так:C++, лучший способ изменить строку в определенном индексе
string s = "abc";
s[1] = 'a';
Является ли следующий код действительны? Это приемлемый способ сделать это?
я не нашел какие-либо ссылок, который говорит, что это справедливо:
http://www.cplusplus.com/reference/string/string/
Который говорит, что через «перегруженный оператор [] в строке» мы можем выполнить операцию записи.
Да, вообще никаких проблем. Если вам действительно нужна ссылка, раздел 21.4.5/2 стандарта C++ 11. –
Ugh. В C++ 11 это фактически запрещено из-за дефекта в стандарте, и вы * технически * должны использовать 's.begin() [1] = 'a';' Но это не стоит беспокоиться. – Potatoswatter
И вы * * нашли ссылку, в которой говорится, что она действительна, хотя cplusplus.com обычно не соответствует стандартам и часто устаревает. Учитывая ссылку, неясно, что еще вы хотите знать. – Potatoswatter