> -- slava писал(а):
> Нет трапов, но есть crash'ы так же как и в char[].

А еще в C++ оператор присваивания обозначается значком '='. Вы мне хотите рассказать про недостатки C++ или чего? Так я их и так очень хорошо знаю. У вас конкретные претензии кдизайнуstd::string есть, вроде тех о которых говорил Александр Ильин применительно к встроенным обероновским строкам?

> -- slava писал(а):
> Причем для константных строк и строк, с неизменяемым размером, все равно используется char[]  (нет нагрузки на heap).

Где вы начитались этих отрывочных сведений? Во-первых, что там используется внутри std::string - лично дело писателей STL. Во-вторых, длякороткихстрокнекоторыеимплементации могут обходиться без использования хипа. В-третьих, для эффективныхконстантныхстрок (если уж они понадобились) используют свои велосипеды с отличным от std::string дизайном, заточенным под константные операции (в частности, у такой строки просто не будет операции изменения размера).

> -- slava писал(а):
> Это в чистом виде Lack of Abstraction (по Джоэлу)   .

Нет, это у вас в чистом виде lack of knowledge. Зато желания кинуть какашку хоть отбавляй