Buscamos expertos para analizar código C++
{
¿Usar? STD::cout;
¿Usar? STD::endl;
a*? p[5]={? 0?};? ///?Declara una matriz de punteros que contiene cinco elementos, cada elemento es un puntero de tipo A, e inicializa todos los elementos a nulos.
¿Para qué? (int?i?=?0;?i?<?5;?i++)?
p[i]? =?¿Nuevo? a; ///?Aplicar memoria para los elementos del array
A **? ¿páginas? =?p; //Declara un puntero pp que apunta a un puntero, que apunta a un puntero que apunta a a.
? //?*¿páginas? ==?*p,pp==p
? //?p también es un puntero que apunta a la posición inicial de la matriz p[5], que es p[0]. Ahora pp también apunta a p[0].
{
(*p)->ss? =?1;//El valor de asignación ss de?p[0] es 1.
p[1]->ss? =?2;//El valor de asignación ss de?p[1] es 2.
(((p?+?2))-& gt;ss?=?3;//La asignación ss de?p[2] es 3 y la suma del puntero es el desplazamiento, p+ 2 es equivalente a que p[0] esté compensado por dos posiciones, es decir, p[2]
(((pp?+?3))-& gt;ss?=?4;?/ /? El valor ss de p[3] es 4, pp? +?3 significa que p[0] se mueve tres posiciones
PP[4]->ss? El valor ss de p[4] es 5.
¿Para qué (int?i?=?0;?i?<?5;?i++)
{ p >
p[I]-> ss? p>¿Si? (I?==?4)?
cout?"\n";
} p>
}
{
const? (* FP 1)(a & amp;)?=?Add; de const? , el tipo de parámetro es &;
//?Inicializa fp1 en la dirección de add. a & amp;)?={?recude?};//?Declara una matriz de punteros de función en forma de fp1.//?Inicializa la dirección con el valor de matriz add y recude >
const?a&? (*(*afpp)[2])(a&)?=?&//?Declara un puntero a una matriz de punteros de función y lo inicializa en la dirección de afpp =?afpp
cout? ((*fp1)(*p[0])) .ss? & lt& lt? "\ t" //? (p?+?1)).ss? & lt& lt? "\ t" //Hay un problema con la redacción. ?+?1))).ss?<<?"\t";//?Equivalente a add(*p[1]).ss
cout? AFP?+?1))(*pp[2]).
¿SS? <<? ¿"\t"? //? Equivalente a recuperar(*p[2]).ss.
¿cómo? <<? (*(*afpp)[0])((*(PP?+?3))).ss? <<? ¿"\t"? //? Equivalente a agregar(*p[3]).ss.
¿cómo? <<? (((((*afpp2?+?1)))(*(*(pp?+?4))).ss?<<?"t\n"; //?Equivalente a recude(*p[ 4] ).ss.
}
//?La memoria debe liberarse, de lo contrario habrá una pérdida de memoria
¿Para qué (int? ¿Yo? = ?0;?I?<?i++)
¿Eliminar?
}