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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AnreyKazakov
Заблокирован
#1

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

07.09.2012, 16:49. Просмотров 553. Ответов 3
Метки нет (Все метки)

вот такой пример, в котором локальная переменная скрывает глобальную, но вопрос то не в этом, почему автор подключил <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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2012, 16:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос <iostream> зачем тогда объявлять <string>? (C++):

Зачем объявлять прототипы функций? Что даёт прототип? - C++
Зачем объявлять прототипы функций? Можно же описать функцию в начале программы и вызвать в самой проге. Что даёт прототип? Зачем нужна...

Зачем включать <iostream> и <stdio.h> одновременно? - C++
Не первый раз встречаю такой код: #include &lt;stdio.h&gt; #include &lt;iostream&gt; В этом что, есть какой-то сакральный смысл?

Ошибка iostream и string - C++
Добрый день! при сборке проекта, ругается на стандартные iosteam.h и string.h, причем до этого все работало отлично. подскажите,...

В чём отличие заголовочных файлов <iostream> и <iostream.h> ? - C++
Добрый день! Учу С++ в Microsoft Visual C++ 6.0. Листинг начинал с #include &lt;iostream&gt;, и программа не работала. Но когда начал с...

Массив: Построить массив из нулей и единиц, в которой bi = 1 тогда и только тогда, когда в i-ой строке матрицы есть хотя бы отрицательный элемент - C++
Даны натуральное число n, действительная квадратная матрица порядка n. Построить последовательность b1, b2, …, bn из нулей и единиц, в...

Известно, что число делится на три тогда и только тогда, когда сумма его цифр делится на три. Проверим этот признак для заданного трехзначного числа X - C++
Известно, что число делится на три тогда и только тогда, когда сумма его цифр делится на три. Проверим этот признак для заданного...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
07.09.2012, 17:20 #2
Это зависит от реализации компилятора. Просто где то в iostream есть включение заголовка с определением класса. В стандарте четко сказано, где находится класс и его функции, не нужно полагаться на реализацию. Например в 2010 студии данный код не скомпилируется скорей всего. Поэтому всегда добавляйте явно необходимый заголовок.
1
Andsteadur
153 / 137 / 3
Регистрация: 23.05.2009
Сообщений: 275
07.09.2012, 17:20 #3
В visual C++, например, в <string> определены операторы вывода в поток и извлечения из потока string. Без включения данного заголовка можно будет создавать и оперировать переменными string, а вот вывести в поток или извлечь из него не получится
1
AnreyKazakov
Заблокирован
07.09.2012, 17:34  [ТС] #4
Спасибо, все ясно, а то маялся, где-то включают авторы в примеры, где то нет класс <string> при работе со строками...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.09.2012, 17:34
Привет! Вот еще темы с ответами:

Доступ к паре в map<string, vector<pair<string, string>>>Temp - C++
Подскажите пожалуйста как получить данные в векторе пар ? void showData(const map&lt;string, vector&lt;pair&lt;string, string&gt;&gt;&gt;Temp) { ...

сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь усложнять? - C++
сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь...

Как объявлять двумерный динамичсекий массив - C++
Как объявлять двумерный динамичсекий массив? Я нашел вот такой код, но не могу его понять Поясните пожалуйста, как работает слеующий...

Как объявлять двумерный динамический массив - C++
Доброго времени суток. При выделении памяти для динамического двумерного массива с разным количеством строк и столбцов, под что сначала...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.09.2012, 17:34
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru