我已阅读关于类成员的指针,但我从未见过它们在任何实际应用程序中使用。有人可以解释这些指针的用例吗?真的有必要有这样的指针吗?指向类成员的指针是什么?
例如,
class abc
{
public:
int a;
abc(int val) { a = val; }
};
int main()
{
int abc::*data;
abc obj(5);
data = &abc::a;
cout << "Value of a is " << obj.*data << endl;
return 0;
}
在上述例如:为什么以这种方式访问'a'的值?使用指向类成员的指针的优点是什么?
'std :: mem_fun()'等人。依靠指向成员的指针。 – wilhelmtell 2010-05-06 06:04:25
是的,但它们封装了用法 - 我很少需要现在就宣布指向成员的指针。 – 2010-05-06 06:06:53
为了演示的清晰度,我可能会使用'map :: operator []':'insert'和'make_pair'组合非常冗长:p好的答案谢谢:) – 2010-05-06 06:26:07