Когда нам следует отдавать предпочтение строкам расширенных символов?C++

Программы на C++. Форум разработчиков
Anonymous
Когда нам следует отдавать предпочтение строкам расширенных символов?

Сообщение Anonymous »

Я модернизирую большую устаревшую кодовую базу MFC, которая содержит настоящую смесь строковых типов:
  • CString
  • std::string
  • std::wstring
  • char*
  • wchar_t*
  • _bstr_t
Я хотел бы стандартизировать один строковый тип внутри страны и преобразовывать в другие типы только в случае крайней необходимости с помощью стороннего API (например, функций COM или MFC). Вопрос, который мы с коллегами обсуждаем; какой тип строки нам следует стандартизировать?

Я бы предпочел одну из стандартных строк C++: std::string или std::wstring. Лично я склоняюсь к std::string, потому что нам не нужны широкие символы - это внутренняя база кода без пользовательского интерфейса, ориентированного на клиента (т. е. нет необходимости в поддержке нескольких языков). «Простые» строки позволяют нам использовать простые строковые литералы без каких-либо украшений («Привет, мир» вместо L «Привет, мир» или _T («Привет, мир»)).

Существует ли официальная позиция сообщества программистов? Что обычно используется в качестве стандартного «внутреннего» формата хранения при работе с несколькими типами строк?

Подробнее здесь: https://stackoverflow.com/questions/459 ... er-strings

Вернуться в «C++»