Не могу найти ничего доступного в настоящее время в дикой природе, что кажется странным.
Так что, прежде чем я сделаю свой собственный, кто-нибудь знает о std-совместимом потоке строк, который выделяет память в стеке?
Я думаю о 2 способах достижения этого:
Изначально использовать статический буфер в стеке (возможно, это параметр шаблона, позволяющий настраивать время компиляции)
- Когда закончится пространство, вернитесь к использованию динамического хранилища
- Когда заканчивается место, используйте
alloca
, чтобы увеличить объем стека
Это позволит быстро вводить в поток строк строки, длина которых меньше заданного размера.
Подходящий выбор для начального размера будет означать, что такие вещи, как ведение журнала, могут быть достигнуты без частого изменения размера из кучи.