> -- Александр Ильин писал(а):
> В идеале строка не должна ничего общего иметь с массивом символов, достаточно предусмотреть конвертацию одного в другое, и всё... Строка и контейнер должны чётко различаться, и работа со строками должна быть воможной без оглядки на контейнер. Если хочешь работать на уровне контейнеров - работай с массивами символов. Если хочешь работать со строками, то работай с ними. В последнем случае должно работать прозрачное выделение памяти под содержимое и быть моментально доступным знание о реальной длине строки. Не думаю, что удастся полноценно совместить работу нижнего и верхнего уровня, если поместить это в библиотеку, а не в компилятор. Но это пока что только мнение.Почему строка не должна иметь ничего общего с массивом (из сказанного выше я не понял)? И что Вы называете контейнером в таком случае? По-моему, если есть тип "строка", то он и является контейнером.

Я тоже столкнулся с большинством тех проблем, которые Вы описали, но подходящего решения не обнаружил, поэтому, если не затруднит, чуточку по-подробнее, пожалуйста.