成员函数中的 const

class T
{
    int *m_p;

    void foo() const
    { 
        *m_p = 1234;
    }
};

  不谈 'm_p' 的初始化及资源释放问题.

  在 const member function 中, 竟然能修改类的成员变量? 这并不奇怪, 因为 const 成员函数的实质是: 不改变类的成员变量的值. 由于 'm_p' 是一个指针, 所以 const 的保护作用只能做用于不修改这个指针的值, 而不能限制指针所指向的内存的值.

 

reference:

  http://bbs.csdn.net/topics/40265282

posted @ 2013-01-20 10:32  walfud  阅读(183)  评论(0编辑  收藏  举报