This is from the
:
namespace std
{
extern istream cin; ///< Linked to standard input
extern ostream cout;
...
>
extern
means "these variables are defined in some other compilation unit (.cpp or .lib file)"
In this case, you #include
into your .cpp file, and because cin
and cout
are declared as extern
, the compiler will let you use them without complaining. Then, when the linker runs, it looks up all of the extern
variables and sorts it all out.