Что представляет собой cout?

150
07 мая 2019, 11:20

cout не ключевое слово. Он подключается через библиотеку iostream и сам редактор vs говорит что это функция.
Вопрос: почему у него (к cin тоже относится) синтаксис не как у нормальных С++ функций ( cout("привет") ) и при чем тут побитовый сдвиг (<<>>)?

Answer 1

Вкратце - потому что это объект класса ostream, а в этом классе переопределен оператор <<, который при работе с объектом данного класса действует не как оператор сдвига, а как вызов функции с именем operator<<, которая осуществляет вывод в поток.

Более полно - рекомендую почитать материалы о потоках ввода-вывода в C++ и переопределении операторов.

Точно так же cin - предопределенный объект класса istream.

P.S. для педантов - да, я знаю, что эти названия типов - на самом деле инстанцирования basic_istream/basic_ostream :)

READ ALSO
Странно работает цикл

Странно работает цикл

Есть код калькулятора ,вот он :

156
Структура данных для хранения callbackов

Структура данных для хранения callbackов

Мне нужна структура данных, которая каждой строке будет ставить в соответствие некоторую callback-функциюЭта структура будет инициализироваться...

138
Можно ли как-то ещё ускорить данный код?

Можно ли как-то ещё ускорить данный код?

Где subset1 и subset2 - это вектора подмножеств первой и второй половины множества соответственно

134
Как работает этот код по распаковке TGA файла? (unload_rle_data)

Как работает этот код по распаковке TGA файла? (unload_rle_data)

Начал копать библиотеку уроков по тому как работает OpenGL и не могу разобраться с одним методомСсылка на курс: https://github

131