读书人

怎么在常量函数内部 强制修改内成员

发布时间: 2012-02-22 19:36:55 作者: rapoo

如何在常量函数内部 强制修改内成员.
const FriendList & operator [] (uint8 index) const
{
/*if(!m_Friends[index])
{
m_Friends[index] = new FriendList;
return *m_Friends[index];

}
*/
return *m_Friends[index];
};
由于项目需要临时做修改又不想大量动代码.注释部分为想实现的功能.


[解决办法]
将你想在const成员函数中修改的成员变量声名为mutable

[解决办法]
m_Friends数组声明为 mutable类型的
[解决办法]
(const_cast <类名*> (this))-> m_Friends[index] = new FriendList;

读书人网 >C++

热点推荐