Declare by including its header, not by explicit declaration
<p>What does this piece of advice mean? It's from <em>The C++ Programming Language, Special Edition</em>.</p>

<blockquote>
  <p>Declare standard library facilities by including its header, not by explicit declaration; §16.1.2.</p>
</blockquote>

<p>Here's an extract from §16.1.2 that I believe is relevant:</p>

<blockquote>
  <p>For a standard library
  facility to be used its header must be
  included. Writing out the relevant
  declarations yourself is <em>not</em> a
  standards-conforming alternative. The
  reason is that some implementations
  optimize compilation based on standard
  header inclusion and others provide
  optimized implementations of standard
  library facilities triggered by the
  headers. In general, implementers use
  standard headers in ways programmers
  cannot predict and shouldn’t have to
  know about.</p>
</blockquote>
