C/C++

Что такое #include <iostream>, std using namespace std В языке программирования C++?

Я не особо понимаю что такое iostream, std, using namespace std
В языке программирования C++

Читаю книгу, но всеравно не очень-то и понятно. Только сегодня начал изучать данный язык программирования. Мой основной язык это python, можете на примере python объяснить что это все значит?

Правильный ли пример?
using namespace std это import random?
using std::cout это аналогично from random import randint() (в этом случае cout)?


Как понять это все?
#include можно рассматривать как аналог import в Python.
А using namespace - как аналог from ... import * в Python.
Только в Python это одной командой, а в C++ импорт отдельно, а отключение префикса перед именами из модуля отдельно.

Все идентификаторы, определённые в стандартной библиотеке C++, имеют префикс (адресное пространство) std:: (даже если они в разных include). Чтобы не указывать std:: перед каждым таким идентификатором, мы указываем адресное пространство std в операторе using namespace.

N.B. Если в Python мы пишем import math и math.sin(x), то в С++ будет #include <cmath> и std::sin(x). Чтобы в обоих языках писать просто sin(x), в Python надо from math import *, а в C++ добавить отдельной строчкой using namespace std;.

<iostream> - это стандартный ввод / вывод в стиле C++. В Python для использования функций input() и print() не требуется import, а в C++ необходимо явно подключить модуль ввода / вывода.

Есть ещё стандартный ввод / вывод в стиле C - <cstdio> или <stdio.h>.
Baglan Kazhmuhanbet
Baglan Kazhmuhanbet
56 390
Лучший ответ
Николай Чиркин Спасибо! Теперь все понятно!
#include <iostream>
вместо этой строки в текст подставляется содержимое файла iostream из каталога include, смотрите настройки компилятора.
using namespace std
это использование пространства имен std без указания его имени, т.е. std::cout и cout после этого будут обрабатываться одинаково.
Сергей Хапинин
Сергей Хапинин
97 491
включение библиотеки ввода-вывода.
только и всего.
  1. iostream каталог с заголовочными файлами\заголовочный файл, который(-ые) содержит определения типов.
  2. std - пространство имен
  3. using namespace - использование пространства имен. Т.е при написании using namespace std можно будет использовать описанные в нем типы и функции.

Для второго пункта:
https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%BE_%D0%B8%D0%BC%D1%91%D0%BD_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)

Пример для третьего пункта

Без using namespace std
 std::cout 

С использованием using namespace std
 cout