Форум программистов, компьютерный форум CyberForum.ru

Чем отличается #include <cstring>, #include <string> и #include <string.h>? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.61
_KulGun_
 Аватар для _KulGun_
2 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 13
06.04.2014, 12:31     Чем отличается #include <cstring>, #include <string> и #include <string.h>? #1
Доброго времени суток
Пишу свой класс и мне для нужны функции для работы со строками.
Когда подключаю #include <string> все что мне нужно работает.
Но один раз не заметил и подключил #include <cstring> и в итоге сразу не смог понять в чем проблема, но потом разобрался.
Вот хочу узнать чем отличается #include <cstring>, #include <string> и #include <string.h>.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2014, 12:31     Чем отличается #include <cstring>, #include <string> и #include <string.h>?
Посмотрите здесь:

C++ INCLUDE
ошибка в лабе не находит #include<iomanip.h> #include<conio.h> C++
C++ #include
C++ Какая разница между #include<> и #include""?
C++ Работа с файлами в C# с исп. библиотек #include <stdio.h> #include <stdlib.h> #include <math.h> #include <io.h>
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
 Аватар для Убежденный
14175 / 6190 / 982
Регистрация: 02.05.2013
Сообщений: 10,298
Завершенные тесты: 1
06.04.2014, 12:37     Чем отличается #include <cstring>, #include <string> и #include <string.h>? #2
<string.h> - это заголовок из стандартной библиотеки языка С.
В нем содержатся функции работы с C-строками, такие как strcpy, strcat и т.п.

В C++ стандартную библиотеку из С поместили в пространство имен std, и
подключать ее в C++ следует через заголовки с префиксом "c".
Например, <string.h> - <cstring>, <stdio.h> - <cstdio> и т.д.

<string> - это заголовок из стандартной библиотеки C++ для работы с
классами std::string.
_KulGun_
 Аватар для _KulGun_
2 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 13
06.04.2014, 12:54  [ТС]     Чем отличается #include <cstring>, #include <string> и #include <string.h>? #3
значит <string.h> и <cstring> как бы ничем не отличаются?
спасибо за ответ
Убежденный
Системный программист
 Аватар для Убежденный
14175 / 6190 / 982
Регистрация: 02.05.2013
Сообщений: 10,298
Завершенные тесты: 1
06.04.2014, 13:12     Чем отличается #include <cstring>, #include <string> и #include <string.h>? #4
Да, можно считать, что это стилистическое различие.
Включение <string.h> вносит соответствующие имена, такие как
strstr, strlen и т.п., в глобальное пространство имен.
Включение <cstring> делает то же самое, только для пространства
имен std, а глобальное не засоряется.
_KulGun_
 Аватар для _KulGun_
2 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 13
06.04.2014, 13:18  [ТС]     Чем отличается #include <cstring>, #include <string> и #include <string.h>? #5
ясно.
большое спасибо
Yandex
Объявления
06.04.2014, 13:18     Чем отличается #include <cstring>, #include <string> и #include <string.h>?
Ответ Создать тему
Опции темы

Текущее время: 01:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru