string test = "Word";
test.at(0) = 'J';
cout << test << endl;
Я парень из java, который теперь изучает c++, и это поведение функции at() меня беспокоит. То, что именно находится в(), возвращается, так что я могу изменить значение в строке. Это указатель?
std::string::at
возвращает ссылку на указанный символ строки.
Если text
является экземпляром std::string
, то text.at(pos)
возвращает ссылку на символ в позиции pos
. Вы можете присвоить ему новое значение, и оно изменит исходную строку.