title: Is static_cast a template?
body: <p>I am learning C++ templates, I found that the type conversion like <code>static_cast&lt;&gt;</code>, <code>dynamic_cast&lt;&gt;</code>, <code>const_cast&lt;&gt;</code> and <code>reinterpret_cast&lt;&gt;</code> looks like templates, though the book said they are all "operators". I want to know:</p>
  
  <p>1)Whether these cast functions are written by templates? </p>
  
  <p>2)If it is true, Where can I find the source code? </p>
  
  <p>3)If it is not true, why they are all designed in the form of templates? is it possible to implement them by templates? </p>