Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вывод на экран / консоль

Ivan Sviridov Оракул (70527), закрыт 1 год назад
друзья, странный вопрос, но уж какой есть. почему в С для вывода можно использовать std::cout, а можно printf? (я знаю, что они описаны в разных .h) это что, разные версии языка? разные поколения? где про это можно почитать?

С знаю на твердую тройку, писал на борландовском СРР лет 30 назад, еще в школе. и всегда использовал только printf (про std::cout узнал только недавно по докам в интернете). мне так привычнее. как правильнее?

решил вот возобновить занятия для ненапряжного решения задач по программированию, чтобы освежить голову. что такое >> и для чего оно - знаю, т.к. использую в bash`е.
Лучший ответ
Андрей Высший разум (482190) 2 года назад
std::cout - это механизм языка C++.
printf - это механизм языка C (без плюсов).

Язык С++ изначально создавался как надстройка над языком C. И потому C++ включает в себя всю стандартную библиотеку C - даже если возможности C-библиотек и С++-библиотек пересекаются.

Механизмы C++ обеспечивают несравнимо лучший контроль на этапе компиляции, чем механизмы C. Потому, если не требуется выжимать предельную производительность кода, лучше везде использовать механизмы С++: вероятность не заметить ошибку намного меньше. И это не только cout вместо printf, но и vector<int> вместо int[] и т.д.
Ivan SviridovОракул (70527) 2 года назад
я так примерно и подозревал, про С и С++.

спасибо за ответ, вопрос можно закрывать.
Остальные ответы
Похожие вопросы