Различия среди включения <xstring>, <cstring>, <строки> и <wstring> в C++

Я видел следующее #include директивы:

#include <xstring>

#include <cstring>

#include <string>

#include <wstring>

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

15
задан DavidRR 23 April 2015 в 13:08
поделиться

2 ответа

- это место, где определяется std :: string .

- это заголовок Microsoft C ++, содержащий фактическую реализацию шаблона std :: basic_string . Вам никогда не нужно включать самостоятельно. включает его для реализации basic_string .

- это стандартная строковая библиотека C ( strcpy , strcat и т. Д.), Помещенная в пространство имен C ++ std .

wstring не является файлом заголовка, о котором мне известно. std :: wstring - это wchar_t версия std :: string и определяется при включении .

18
ответ дан 1 December 2019 в 01:38
поделиться

Только и являются стандартными заголовками. - нестандартный заголовок.

#include <cstring>

Это , но с объявлениями, помещенными в пространство имен std. Это "версия C++" заголовка языка C.

#include <string>

Здесь определяется std::string. Это не имеет никакого отношения к заголовку C.

16
ответ дан 1 December 2019 в 01:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: