J'ai un code dans une fonction que je veux séparer dans sa propre fonction. Je veux le faire avec aussi peu de modifications que possible au code original. Ci-dessous, j'ai écrit un exemple noddy où le segment de code est simplement "x + = y". Je veux sortir ce code et le mettre dans sa propre fonction. Avec C je dois le faire en changeant y dans un pointeur et en travaillant avec ça. Mais je me souviens d'avoir lu quelque part (maintenant oublié) qu'il y a un truc en C++ où je peux passer la variable de telle sorte que le code puisse rester "x + = y".Transfert de code à une sous-fonction
FYI: Je veux faire ce processus (et peut-être l'inverser plus tard) comme je fais un profilage de callgraph.
void main()
{
int x = 2;
int y = 5;
#if KEEP_IN_BIG_FUNC
x += y;
#else // put in sub function
sub_function(y,&x);
#endif
printf("x = %d\n",x); // hopefully will print "7"
}
void sub_function(int y,int *x)
{
*x += y;
}
S'il vous plaît, ne postez pas de liens sans même travailler un peu sur la réponse. –
Pourquoi pas? Le lien explique très clairement et complètement comment les références fonctionnent en C++ ... si l'OP le lit, il apprendra ce qu'il a besoin de savoir au moins aussi bien qu'il le ferait si je tapais la réponse ici. –