【发布时间】:2012-04-03 13:13:32
【问题描述】:
Const 函数似乎并不关心您是否将成员指针解引用为非 const 引用。也可以返回非常量成员指针。但是,不允许返回具有值类型的数据成员的引用或地址。
为什么?
class Class
{
public:
unsigned int& value2(void) const
{
*m_ptr = 10;
return *m_ptr;
//Why?
}
unsigned int* value3(void) const
{
return m_ptr; //Why?
}
private:
unsigned int* m_ptr;
};
【问题讨论】:
-
你的意思是指向成员函数的指针?
-
你应该提供一个让你担心的例子。从描述中很难知道。当您说 member-pointer 时,您是指作为指针的成员还是指向成员的指针
-
@NFRCR:您实际上是指(通过阅读代码)作为数据成员的指针。这就是为什么提供代码示例很重要。
标签: c++