The iostream.h
header was provided with the first C++ compiler, CFront, and became the de facto standard. During the formal
standardization process of C++, many shortcomings in iostream.h
were fixed, but at the cost of introducing incompatibilities. Therefore,
it was decided not to change the existing iostream.h
and introduce the standard version as a new iostream
header.
Modern compilers tend to remove the support of the legacy iostream.h
header, and migrating to the standard version is encouraged.
This rule applies not only to iostream
, but to all standard C++ headers.
Noncompliant code example
#include <iostream.h> // Noncompliant
#include <fstream.h> // Noncompliant
Compliant solution
#include <iostream>
#include <fstream>