title: Signature of a function
body: <p>i am a beginner level programmer and have just started learning programming in C++,</p>
  
  <p>i had a look at a feature called "FUNCTION OVERLOADING" and while i have understood the purpose and implementation at the code level, i haven't understood how it is implemented at the compiler level that is how does a compiler differentiates between the signature of the different functions with same name and would</p>
  
  <pre><code>return-type func-name (data-type 1 , data-type-2);
  </code></pre>
  
  <p>would have the same signature as</p>
  
  <pre><code>return-type func-name (data-type 2 , data-type-1);
  </code></pre>
  
  <p>and does the same thing applies to overloaded constructors too ?</p>