我已閱讀關於類成員的指針,但我從未見過它們在任何實際應用程序中使用。有人可以解釋這些指針的用例嗎?真的有必要有這樣的指針嗎?指向類成員的指針是什麼?
例如,
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