Я уже довольно давно занимаюсь программированием на C ++, и я думаю, что большинство, кто на самом деле кодирует на C ++, согласятся с тем, что один из самых сложных решения - выбирать из почти головокружительного количества доступных типов струн. Я в основном предпочитаю ATL Cstring
из-за простоты использования и возможностей, но хотел бы провести сравнительное исследование доступных вариантов.
Я проверил SO и не нашел никакого контента, который помогает выбрать правильную строку. Существуют веб-сайты, на которых указывается преобразование одной строки в другую, но это не то, что мы хотим здесь.
Хотелось бы иметь сравнение, основанное на специализации, производительности, переносимости (Windows, Mac, Linux / Unix и т. Д.), Простоте use / features, многоязычная поддержка (Unicode / MBCS), минусы (если есть) и любые другие особые случаи.
Я перечисляю строки, с которыми я сталкивался до сих пор. Я считаю, что их будет больше, поэтому мы можем отредактировать это позже, чтобы учесть другие варианты. Обратите внимание, я работал в основном в Windows, поэтому список отражает то же самое:
char *
std :: string
basic_string
CString
CString
BSTR
_bstr_t
CComBstr