Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Куда пропало std (в C++)?  (Прочитано 890 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн __v1tos

  • Автор темы
  • Участник
  • *
  • Сообщений: 105
  • Ubuntuu 10.10 x86-64
    • Просмотр профиля
Куда пропало std (в C++)?
« : 30 Июня 2011, 21:08:39 »
Доброго времени суток :)
Возник вопрос с... покажу в коде
//в плюсах main.cpp
#include <cstdio>

int main()
{
fprintf(stdout, "hi\n");
return 0;
}
не должен компилироваться, так как я не указал using namespace std;
но он компилируется (g++)
припоминается, что раньше такие вещи не проходили, так что же случилось, как так?
AMD Phenom II 945, GA-MA790GPT-UD3H (HD 3300), 5 GiB ram

Оффлайн hippi90

  • Активист
  • *
  • Сообщений: 433
    • Просмотр профиля
Re: Куда пропало std (в C++)?
« Ответ #1 : 30 Июня 2011, 22:26:23 »
fprintf находится в глобальном пространстве имен?

Оффлайн Not eXist

  • Активист
  • *
  • Сообщений: 916
    • Просмотр профиля
Re: Куда пропало std (в C++)?
« Ответ #2 : 01 Июля 2011, 00:06:30 »
Это пять! :D

Evil Beaver

  • Гость
Re: Куда пропало std (в C++)?
« Ответ #3 : 01 Июля 2011, 09:27:07 »
А мне припоминается, что раньше такие вещи как-раз таки проходили. Во времена моей учебы и Borland C++ c 3-го по 6-й :)

Оффлайн __v1tos

  • Автор темы
  • Участник
  • *
  • Сообщений: 105
  • Ubuntuu 10.10 x86-64
    • Просмотр профиля
Re: Куда пропало std (в C++)?
« Ответ #4 : 01 Июля 2011, 18:42:49 »
Это пять! :D
С плюсом (двумя)
Припоминается, еще на пороге моего знакомства с linux я пытался программировать в Ubuntu 7 (не так давно), так вот тогда нужно было писать std::printf а не printf.
Но если мне изменяет память, то тогда какой смысл в <cstdio> почему просто не <stdio.h>, ведь какой смысл писать std::printf  если можно короче  printf.
AMD Phenom II 945, GA-MA790GPT-UD3H (HD 3300), 5 GiB ram

Оффлайн ierofant

  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля
Re: Куда пропало std (в C++)?
« Ответ #5 : 01 Июля 2011, 21:41:17 »
не должен компилироваться, так как я не указал using namespace std;
За вас это сделали в файле cstdio:
_GLIBCXX_BEGIN_NAMESPACE(std)
  .....
  using ::fprintf;
  ......
_GLIBCXX_END_NAMESPACE

Оффлайн __v1tos

  • Автор темы
  • Участник
  • *
  • Сообщений: 105
  • Ubuntuu 10.10 x86-64
    • Просмотр профиля
Re: Куда пропало std (в C++)?
« Ответ #6 : 01 Июля 2011, 22:26:54 »
так все что они сделали так это добавили в пространство имен std, в глобальном пространстве все так и осталось. А толку то?
AMD Phenom II 945, GA-MA790GPT-UD3H (HD 3300), 5 GiB ram

 

Страница сгенерирована за 0.035 секунд. Запросов: 22.