сколько типов строк в Visual C ++ - PullRequest
4 голосов
/ 23 декабря 2010

Сколько типов классов строк существует в Visual C ++.Я запутался, когда проходил центр msdn.

Я нашел этот тип в системе пространств имен http://msdn.microsoft.com/en-us/library/system.string(v=VS.71).aspx

, а затем в разделе заголовков нашел определения заголовков строк.Это казалось отличным от вышеупомянутого.Одна вещь, которую я заметил, эта подпадает под STL.(Пожалуйста, смотрите комментарий для ссылки, я не могу опубликовать две ссылки в одном и том же сообщении)

какая из них обычно используется?Я нахожусь в затруднительном положении с различными классами строк

Заранее спасибо:)

Ответы [ 2 ]

6 голосов
/ 23 декабря 2010

Различные библиотеки поставляются с разными типами строк:

В простом старом C вы используете char*, стандартная библиотека C ++ предоставляет std::string, который широко используется в разработке на C ++.(строка определяется как typedef basic_string<char> string;)

Microsoft создала класс MFC CString, который (был?) используется в программировании в стиле MFC, Qt имеет QString, который используется в программах Qt.System.String - это строковый класс .net, который можно использовать только в управляемом коде (с .net).

Я бы предложил придерживаться std::string (#include <string>), еслиВы новичок в C ++.Стандартно и не зависит от платформы.

3 голосов
/ 23 декабря 2010

Строковые типы, обычно используемые в коде Microsoft: char *, wchar_t *, LPSTR, LPTSTR, LPWSTR, LPCSTR, LPCTSTR, LPCWSTR, BSTR, OLESTR, UNICODE_STRING, String, string, wstring, _bstr_t, CString

Последние 5 классов. Вы выбираете тот, который дает вам меньше проблем с конверсией, в зависимости от того, какой API вам нужно использовать:

  • std :: string и wstring, стандартная библиотека C ++
  • System :: String, тип строки для управляемого кода
  • _bstr_t, оболочка для BSTR, используется в автоматизации COM
  • CString, строковый тип для библиотек ATL и MFC.

Вероятно, вы столкнетесь с дополнительными типами строк при работе с другими API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...