История изменений
Исправление
mashina,
(текущая версия)
:
Ну допустим мы введем галочку «dont_delete». Ок, хоть и уродство. А что будет когда мы будем записывать? COW? Хотел бы я посмотреть на лицо программиста, когда при изменении символа в строке приложение упадет по нехватке памяти.
До недавнего времени std::string() поддерживал CoW опционально по стандарту и gcc даже его реализует. Запретили CoW только в c++11. Лишнее выделение памяти не аргумент для плюсовой программы, т.к. они могут случаться (и случаются на практике) постоянно явно или неявно.
Исходная версия
mashina,
:
Ну допустим мы введем галочку «dont_delete». Ок, хоть и уродство. А что будет когда мы будем записывать? COW? Хотел бы я посмотреть на лицо программиста, когда при изменении символа в строке приложение упадет по нехватке памяти.
До недавнего времени std::string() поддерживал CoW опционально по стандарту и gcc даже его реализует. Запретили CoW только в c++11. Лишнее выделение памяти не аргумент для плюсовой программы, т.к. они могут (и случаются на практике) постоянно явно или неявно.