Неправильные и странные коды в C++
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Решил научиться программировать на C++, нашёл пару сайтов и книг. Так вот в одной из книг (C++ для чайников, Стефан Р. Дэвис) я нашёл такой примечательный код:
И вот в чём дело — в Visual Studio почти весь код напичкан ошибками, всё выделено. Пробовал исправить, вышло так:
Запутался в коде, в общем. Заглянул в пару мест на сайте и пытался всё сделать по образцу, всё равно не выходит.
Прошу объяснить, что да как.
В книжном варианте кода исправь на...
Можете объяснить, какое значение в коде имеет <cstdio>?
Malvin_Harris, в современном варианте C++ (начиная с какого стандарта — не помню, и лень копаться) существует два заголовочных файла stdio.h и cstdio. В первом, унаследованном от C, все сущности (имена функций, имена структур и пр.) находятся в глобальном пространстве имён, а во втором, который является обёрткой для первого, все сущности находятся в пространстве имён
std
. Для включения пространства имёнstd
в глобальное пространство имён программы используется операторusing namespace std;
, как показано в примере Slonopotam'а. При использовании заголовочного файла stdio.h этого делать не надо.Заголовочный файл iostream.h был убран из стандарта (но встречается в старых книгах) и заменён на iostream, сущности в котором находятся в пространстве имён
std
. Поэтому в программе нужно обязательно указывать пространство имён при использовании этого заголовочного файла.В твоей программе stdio.h/cstdio вообще не нужен. В ней используются только сущности, описанные в iostream.
Благодарю.
Немного не верно. Он был до стандарта и уже в первый стандарт вошел как «iostream».
Они там продублированы.