Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2012, 17:10   #1
Supermiks
 
Аватар для Supermiks
 
Регистрация: 06.01.2012
Сообщений: 5
Вопрос Вопросы о функции using namespace std и библиотекам <iostream>, <conio.h>(C++, компилятор Сode::Blocks)

1.Можно ли использовать в программе функцию using namespace std?

2. Я читал на форуме что при std надо подключать библиотеку <iostream>, а без него <iostream.h> что я и сделал.

Код:
#include <iostream.h>
#include <conio.h>

int main()
{
    std::cout <<"This is C++"<< endl;

    return 0;
}
Запускаю отладчик и компилятор выдаёт предупреждение(хотя программа работает нормально):
"#warning This file includes at least one deprecated or antiquated header. \
Please consider using one of the 32 headers found in section 17.4.1.2 of the \
C++ standard. Examples include substituting the <X> header for the <X.h> \
header for C++ includes, or <iostream> instead of the deprecated header \
<iostream.h>. To disable this warning use -Wno-deprecated."

3.Программа откомпилировалась, запускаю екзешник.Программа появляется на секунду и исчезает.Почему?Ведь я подключил <conio.h>
Экономьте свет, выключайте Num Lock!
Supermiks вне форума Ответить с цитированием
Старый 06.01.2012, 17:16   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)это не функция, это лишь директива чтоб не писать полные имена.
2)нет, iostream.h это устаревший заголовок, его применять уже не стоит.
3)от подключения ничего не меняется, программа делает то что вы сказали.

насчет п1, вот примеры:
с импортом пространства имен:
Код:
#include <iostream>

using namespace std;

int main()
{
    cout<<"This is C++"<<endl;
    cin.get();
}
с импортом только того что нам нужно(а не всего пространства имен):
Код:
#include <iostream>

using std::cout;
using std::cin;

int main()
{
    cout<<"This is C++"<<endl;
    cin.get();
}
без импорта(указание полного квалифицированного имени):
Код:
#include <iostream>

int main()
{
    std::cout<<"This is C++"<<std::endl;
    std::cin.get();
}
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.01.2012, 17:34   #3
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Supermiks

1.Можно ли использовать в программе функцию using namespace std?

можно, но лучше не надо, ибо так делают только ламеры в своих нелловорлдах.
в сурьезной командной работе такая запись черевата проблемами, например отрыванием рук и засовыванием их в более подходящее место :D

2. Я читал на форуме что при std надо подключать библиотеку <iostream>, а без него <iostream.h> что я и сделал.

В новых компиляторах - только <iostream> - а те, которые хотят <iostream.h> - брось каку.

Запускаю отладчик и компилятор выдаёт предупреждение(хотя программа работает нормально):
"#warning This file includes at least one deprecated or antiquated header. \


у компилятора появились подозрения, что ты - некрофил... ):
Rififi вне форума Ответить с цитированием
Старый 06.01.2012, 17:39   #4
Supermiks
 
Аватар для Supermiks
 
Регистрация: 06.01.2012
Сообщений: 5
По умолчанию

Спасибо разобрался
Экономьте свет, выключайте Num Lock!
Supermiks вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
объясните - using namespace std; 2008kedr2008 Общие вопросы C/C++ 1 27.12.2010 08:58
Не работает using namespace std; Romantik (Dima) Visual C++ 2 16.12.2010 18:53
использование конструкции "using <namespace>::<namespace-member>" happy_horror Общие вопросы C/C++ 5 08.03.2009 15:30
namespace std; lacost Общие вопросы C/C++ 8 22.10.2007 13:17
использование using namespace std; che Общие вопросы C/C++ 7 11.10.2007 17:13