<iostream> или <iostream.h>

Многие C++ программисты все еще используют <iostream.h> вместо новых, совместимых стандартами библиотек <iostream>. В чем разница между ними?

Во-первых, обозначение .h стандартных файлов заголовка была объявлена устаревшей более чем 5 лет назад. Использование устаревших функций в новом коде никогда не является хорошей идеей.

С точки зрения функциональности, <iostream> содержит набор шаблоннизированных классов ввода/вывода.

В-третьих, стандартная спецификация интерфейса iostream была изменена во многих тонких аспектах. Следовательно, интерфейсы и реализации <iostream> отличаются от <iostream.h>.

Наконец, <iostream> компонентов объявлены в пространстве имен (namespace) std, а <iostream.h> компоненты носят глобальный характер.

Из-за этих существенные различия, вы не можете смешивать две библиотеки в одной программе. Как правило, использование <iostream>, если вы имеете дело со старым кодом, который совместим только с <iostream.h>.