list-1
struct CHoge { int GetSurfaceType() const { return m_nSurfaceType; } private: int m_nSurfaceType; };
枠-1
1.データメンバを完全に変更しないことを意味する場合。(物理的const性) 2.データメンバを変更することはあるが、そのクラスの意義からして、それはconstだと言える場合。(論理的const性)
枠-2
void Blt(ISurface* pDst , const ISurface* pSrc);
枠-3
int GetSurfaceType() const { return m_nSurfaceType; }
枠-4
const CHoge* pThis;
list-2
int ConstMethod() const { CHoge* pThis = const_cast<CHoge*>(this); // const CHoge*から、CHoge*へキャストする return pThis->NotConstMethod(); }