it is true that if you know what you are doing, you can produce good code & get the job done, but he is true of any language, including assembler.here is a couple of items off the top of my head:Default assignment operator: All you need to do is add a pointer to your class and suddenly code that you do not see causes a bug.