title: Is it a good practice to define C++ functions inside header files?
body: <p>I'm wondering if it's a good practice to store C++ regular functions, not methods(the ones in classes) inside header files.</p>
  
  <p>Example:</p>
  
  <pre><code>#ifndef FUNCTIONS_H_INCLUDED
  #define FUNCTIONS_H_INCLUDED
  
  int add(int a, int b)
  {
     return a + b;
  }
  
  #endif
  </code></pre>
  
  <p>And Use it like this:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include "Functions.h"
  
  int main(int argc, char* args[])
  {
      std::cout &lt;&lt; add(5, 8) &lt;&lt; std::endl;
      return 1;
  }
  </code></pre>
  
  <p>Is this a good a good practice?
  Thanks in advance!</p>