title: Why can std::max and std::min still be used even if I didn't #include <algorithm>?
body: <pre><code>#include &lt;iostream&gt;
  
  int main()
  {
     int value1 = 1, value2 = 10;
     std::cout &lt;&lt; "Min = " &lt;&lt; std::min(value1,value2) &lt;&lt;std::endl;
     std::cout &lt;&lt; "Max = " &lt;&lt; std::max(value1,value2)&lt;&lt; std::endl;              
  } 
  </code></pre>
  
  <p>As far as I know, the <code>min</code> and <code>max</code> functions are defined in <code>&lt;algorithm&gt;</code>.</p>
  
  <p>If I didn't tell the pre-processor to include <code>&lt;algorithm&gt;</code> why does the code still work?  </p>