Quote Originally Posted by CornedBee View Post
They make rather poor class members, but that is their only flaw.
Hm, what'd be wrong with

Code:
class World;

class Entity
{
    const World& mr_world;

public:
   Entity(const World& _world)
   :mr_world(_world)
   {}
};
I'm using such construcs all the time for keeping associations to parent classes. I find raw pointers meaningless and every other programmer would be confused about it's semantic, as you pointed out. But whats wrong with this reference as class member?