He leído sobre los punteros a los miembros de la clase, pero nunca los he visto en ninguna aplicación práctica. ¿Alguien puede explicar cuáles son los casos de uso de tales punteros? ¿Es realmente necesario tener tales punteros?¿Para qué sirven los indicadores para los miembros de la clase?
Por ejemplo.
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;
}
En el ejemplo anterior. ¿Por qué se accede al valor de 'a' de esta manera? ¿Cuál es la ventaja de usar punteros a los miembros de la clase?
'std :: mem_fun()' et al. confíe en puntero-a-miembro. – wilhelmtell
Sí, pero encapsulan el uso; raramente he necesitado declarar punteros a miembro desde hace bastante tiempo. –
Para la claridad de la demostración, probablemente habría usado el 'map :: operator []': la combinación 'insert' y' make_pair' es tan prolija: p Buena respuesta gracias :) –