Thanks, I understand and read into it.
What I'll also take into account in this 'action', is check which member functions actually change the object or just use vars of the object.
For example most member functions within my 'd3d' class, are const functions (not yet in the code, but I'm gonna change that).
Just on the details, how about a LPDIRECT3DDEVICE9, which is already a pointer. I would say pass it as const reference since it's only used and not changed. Not sure though if the device pointer needs 'mutable' rights to execute functions within in. I hope not, so the code's clean on that side too.
Ps.; in my opinion "const ...." is better readable for me then "..... const", so I'm going for that style, both in the class member functions and the function parameters.