strstream
вернул char *
, которым было очень трудно управлять, поскольку нигде не было указано, как оно было распределено. Таким образом, было невозможно узнать, следует ли вам удалить его или вызвать функцию free () или сделать что-то еще полностью. Единственным действительно удовлетворительным способом освободить его было вернуть его обратно в strstream
через функцию freeze()
. Это было достаточно неочевидно, что многие люди поняли это неправильно. stringstream
возвращает строковый объект, который управляет собой, что гораздо менее подвержено ошибкам.
Была также проблема необходимости использовать ends
для завершения строки, но я считаю, что проблема освобождения была основной причиной устаревания.