C++ does not like destructors that emit exceptions. Therefore, make sure that in your design, your destructors never emit exceptions and if possible make sure that another non-destructive method takes care of handling any exceptions throw.
In C++ make sure to always copy all of your data members in the copy constructor and copy assignment. If you have derived classes, make sure to invoke your base class copy constructor.
As of 7/15 I have been working on Collision Detection between 3D objects. Initially I was using the SAT (Separation Axis Test) algorithm to detect collision between objects but decided that it would be better to use the GJK (Gilbert-Johnson-Keerthi) + EPA (Expanding Polytope Algorithm) instead.