Note: for simple structs (eg, structs with a trivial constructor and direct member access and no member functions, I have not prefixed variables with m_. I'm not too sure about the coding style rule on this one, let me know if it needs to change. This is an example of what I mean.