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

<iostream> зачем тогда объявлять <string>? - C++

Восстановить пароль Регистрация
 
AnreyKazakov
Заблокирован
07.09.2012, 16:49     <iostream> зачем тогда объявлять <string>? #1
вот такой пример, в котором локальная переменная скрывает глобальную, но вопрос то не в этом, почему автор подключил <string>? У меня все работает, если даже я просто <iostream> подключаю (среда Geany, компилятор MinGW)
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
//#include <string> !!!непонятно зачем.....!!!
std::string s1="hello";
int main()
{
std::string s2 = "world";
std::cout<<s1<<" "<<s2<<std::endl;
int s1=18;
std::cout<<s1<<" "<<s2<<std::endl;
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
07.09.2012, 17:20     <iostream> зачем тогда объявлять <string>? #2
Это зависит от реализации компилятора. Просто где то в iostream есть включение заголовка с определением класса. В стандарте четко сказано, где находится класс и его функции, не нужно полагаться на реализацию. Например в 2010 студии данный код не скомпилируется скорей всего. Поэтому всегда добавляйте явно необходимый заголовок.
Andsteadur
152 / 136 / 3
Регистрация: 23.05.2009
Сообщений: 275
07.09.2012, 17:20     <iostream> зачем тогда объявлять <string>? #3
В visual C++, например, в <string> определены операторы вывода в поток и извлечения из потока string. Без включения данного заголовка можно будет создавать и оперировать переменными string, а вот вывести в поток или извлечь из него не получится
AnreyKazakov
Заблокирован
07.09.2012, 17:34  [ТС]     <iostream> зачем тогда объявлять <string>? #4
Спасибо, все ясно, а то маялся, где-то включают авторы в примеры, где то нет класс <string> при работе со строками...
Yandex
Объявления
07.09.2012, 17:34     <iostream> зачем тогда объявлять <string>?
Ответ Создать тему
Опции темы

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