J'ai lu sur les pointeurs aux membres de la classe, mais je n'ai jamais vu les utiliser dans des applications pratiques. Quelqu'un peut-il expliquer quels sont les cas d'utilisation de ces indicateurs? Est-il vraiment nécessaire d'avoir de tels indicateurs?À quoi servent les pointeurs pour les membres de la classe?
Par exemple.
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;
}
Dans l'exemple ci-dessus. pourquoi la valeur de 'a' est-elle accessible de cette manière? Quel est l'avantage d'utiliser des pointeurs pour les membres de la classe?
'std :: mem_fun()' et al. compter sur pointeur à membre. – wilhelmtell
Oui, mais ils encapsulent l'utilisation - j'ai rarement besoin de déclarer des pointeurs à un membre pendant un certain temps maintenant. –
Pour la clarté de la démonstration, j'aurais probablement utilisé le 'map :: operator []': la combinaison 'insert' et' make_pair' est tellement verbeuse: p Bonne réponse merci :) –