Surcharge de déclaration de variable de boucle
En C, il est souvent débattu de savoir si la déclaration d'une variable dans une boucle a un impact sur les performances. Considérez le scénario suivant :
int i = 0; while (i < 100) { int var = 4; i++; }
Ici, int var est déclaré dans la boucle et se voit attribuer la valeur 4 à chaque itération. Il peut sembler que cette déclaration répétitive entraînerait une surcharge. Cependant, en C , les variables locales sont généralement allouées sur la pile dans la portée de la fonction.
int i = 0; int var; while (i < 100) { var = 4; i++; }
Dans ce cas, int var est déclaré en dehors de la boucle pour éliminer les frais généraux potentiels. Cependant, les deux extraits se comportent de la même manière en termes de vitesse et d'efficacité.
La raison en est que l'espace de pile pour les variables locales est alloué au début de la portée de la fonction. Dans cet exemple, l'espace de pile pour int var est alloué au démarrage de la fonction, qu'elle soit déclarée à l'intérieur ou à l'extérieur de la boucle. Par conséquent, la seule surcharge impliquée est l’affectation de 4 à var lors de chaque itération.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!