Exploiting Strong Typing and const correctness is also extremely helpful.
I also prohibit default copy constructors and assignment operators. I actually go beyond that, but those are the most common. I think life would be easier if they were not implicit.