Size: a a a

2021 August 28

TF

Tikhon Fedulov in DEVs chat
В общем, string поддерживает индексацию
источник

TF

Tikhon Fedulov in DEVs chat
Соответственно вопрос
источник

TF

Tikhon Fedulov in DEVs chat
Является ли переменная  типа string указателем на первый элемент этого массива ?
источник

TF

Tikhon Fedulov in DEVs chat
std::string x;
источник

TF

Tikhon Fedulov in DEVs chat
Почему я могу вывести x[i]
источник

TF

Tikhon Fedulov in DEVs chat
Но *(x+i) уже не могу ?
источник

TF

Tikhon Fedulov in DEVs chat
Чем является х ? Немного непонятна реализация класса string
источник

🤙Ꮶ

🤙🏻 ℙ𝔸𝕍𝔼𝕃 ᏦᎾᏢᏦᎾᏉ... in DEVs chat
Не могу точно сказать, но указатели это про c string, он же массив чаров. А std:string это вроде как враппер. Но лучше уточнить в cpp группе
источник

TF

Tikhon Fedulov in DEVs chat
Можно ссылку на какой-нибудь с++ чат ?
источник

🤙Ꮶ

🤙🏻 ℙ𝔸𝕍𝔼𝕃 ᏦᎾᏢᏦᎾᏉ... in DEVs chat
Т.е. у класса есть перегрузка акцессора [], но сам по себе х это не указатель, так что и *(х + 1) не пашет
источник

🤙Ꮶ

🤙🏻 ℙ𝔸𝕍𝔼𝕃 ᏦᎾᏢᏦᎾᏉ... in DEVs chat
Я вышел из него :)))
источник

🤙Ꮶ

🤙🏻 ℙ𝔸𝕍𝔼𝕃 ᏦᎾᏢᏦᎾᏉ... in DEVs chat
Сча поищу
источник

TF

Tikhon Fedulov in DEVs chat
Понял
источник

TF

Tikhon Fedulov in DEVs chat
Но смотри
источник

TF

Tikhon Fedulov in DEVs chat
Вот так уже работает cout << &x
источник

TF

Tikhon Fedulov in DEVs chat
И далее cout << &x+1 выводит адрес в памяти ссылающийся уже на следующий символ
источник

🤙Ꮶ

🤙🏻 ℙ𝔸𝕍𝔼𝕃 ᏦᎾᏢᏦᎾᏉ... in DEVs chat
🤷🏻‍♂️
источник

TF

Tikhon Fedulov in DEVs chat
Так как массив это непрерывная последовательность символов
источник

TF

Tikhon Fedulov in DEVs chat
Соответственно теоретически х должен являться указателем на первый элемент, но почему-то не получается с ним в качестве указателя работать
источник

🤙Ꮶ

🤙🏻 ℙ𝔸𝕍𝔼𝕃 ᏦᎾᏢᏦᎾᏉ... in DEVs chat
Класс может оборачивать указатель и сам увеличивать размер этого массива в случае конкатенации. Но не давать прямую ссылку на сам массив
источник