Мудрец
(15751)
10 лет назад
В одном и том же заголовочном файле может быть несколько пространств имен.
Тем более много пространств имен можно включить в код, если подключить много заголовочных файлов.
А в разных пространствах имен могут быть члены с одинаковыми именами.
Пространство имен указывают перед ::, чтобы не перепутать, и обратиться к cout или cin именно из пространства имен std, а не какого-то другого пространства имен из iostream или еще какого-то заголовочного файла, включенного через include.
Вторник
Искусственный Интеллект
(185877)
10 лет назад
Нужно указывать пространство имен, чтобы не было конфликтов.
Можно где-нибудь в начале кода написать строчку using namespace std; (после всяких #include xxx), тогда каждый раз не придется писать std:: Это для небольших проектов, в твоем случае например.
zhodzky
Просветленный
(48931)
10 лет назад
iostream - файл в котором описаны в частности стандартные потоки ввода-вывода. std - пространство имён стандартной библиотеки в котором описаны данные потоки. Если открыть и посмотреть файл iostream, то можно увидеть следующий код:
_STD_BEGIN
//код
_STD_END
где данные макросы:
#define _STD_BEGIN namespace std {
#define _STD_END }
соответственно всё что объявленно в файле iostream входит в данное пространство имён. Чтобы обратиться к данному пространству имён нужно использовать std:: или using namеspace std.Пространства имён используются для избегания конфликтов имён переменных, функций и т. д. . Скажем если есть код, написанный давно, ещё до существования данных потоков (например ещё на чистом СИ) , то пространство имён поможет избежать конфликта если в том коде использовалась переменная cout.
int main()
{
std::cout << "Hello, world!" << std::endl;
return 0;
}
новичок в программировании, пожалуйста объясните по возможности подробнее.