Здравствуйте, SVV, Вы писали:
SVV>на длину строки отведено 4 байта. некоторые типы строк всегда будут содержать только указатель и не освобождать данные. в таких случаях char -> wchar преобразование невозможно. в других строках старший бит длины определяет надо ли освобождать данные. Таким образом, длина строки только 2^31, чего в большинстве случаев достаточно.
Вот это вообще не понял, при чём. Строка с префиксом-длиной, как в BSTR или паскале-дельфи? И с политиками времени жизни, как в ObjC?
Ну так тем лучше. Хранить только указатель на строку, удалять или нет с оглядкой на флажки в префиксе.
Тогда всё, что нужно — это написать 4 функции копирования.