Each post must contain one bad programming practice to add to the list. I'll start:
In C++, overload library functions by using #define. That way it looks like you are using a familiar library function where in actuality you are using something totally different.
>>52
Your code should convey its semantics as clearly as possible. That means choosing familiar idioms whenever you can. The extra 200ms it takes your maintenance programmer to figure out that by int counter you really meant int i are better spent elsewhere.