title: C++ code generation for non template dependent code
body: <p>Considering the following code:</p>
  
  <pre><code>template&lt;typename T&gt;
  struct A
  {
      void f(){...}
  
      friend T;
  };
  
  template&lt;typename T&gt;
  struct B
  {
      void f(T){...}//code depends on T
      void g(){...}//code doesn't depends on T
  }
  </code></pre>
  
  <p>As you see, the "code" in the <code>struct A</code> doesn't depend on <code>T</code>. 
  Will the compiler generate different code in the final binary for every <code>T</code> used to instantiate <code>A</code>? </p>
  
  <p>Same question for <code>B::g()</code> function, will the compiler use the same function for all instances of <code>B&lt;T&gt;</code> when it's possible, for example <code>this</code> is not used in <code>g()</code>, so no dependency on <code>T</code>? Does the standard have any specification for this case?</p>