[prg] Re[5]: как привести std::string к c-строкам
Здравствуйте, "i_chay".
> А есть ли реализации, где данные в std::string хранятся в фрагментарно?
Поскольку на уровне стандарта обратное не доказано, т.е. не закреплена
непрерывность, следует исходить из этого.
> Понятно, что можно создать кастомный allocator с изощрённой логикой
> управления
> памятью (но на такой allocator стоит возложить ответственность за
> дефрагментацию
> памяти).
> А на практике есть ли реализации stl с фрагментарными данными?
"...контейнер string не гарантирует хранения данных в непрерывном блоке
памяти" (http://cpp.com.ru/meyers/ch2.html). Более продвинутый источник
сходу не нашёлся.
Как я понимаю, фокус в том, что большинство реализаций, действительно, всё
делает непрерывным блоком, но на уровне стандарта (по крайней мере, так было
до последнего времени) это не закреплено, и я встречал упоминания
реализаций, где это вроде не так. Однако на практике я с этим никогда не
сталкивался, правда я в принципе не знаток извращений в этой области, но
думаю, что людям нет резона врать.
Успехов. Никита.