title: Should I define static inline methods in header file?
body: <p>I've read about how it is usually best not to define anything in header files because redundant copies are made for every other file that includes the header file. However, in the case of static inline methods, it appears that I have to define it on the spot (at least visual studio 2010 doesn't let me do that). So if I write an interface at the header file, I can't define the static inline method out side of the class definition or at the .cpp file.</p>
  
  <p>So, should I bother to use static inline methods at all? And a relate question: Should I even define anything method or variable in a header file (what about constants)?</p>
  
  <p>Anyway, strangely, it's not something that's covered in great detail in my C++ books.</p>
  
  <p>Edit: I read through similar questions about static inline methods but none of them seem to directly address this issue.</p>