7
votes

Qu'est-ce que cela signifie lorsque le premier paramètre "pour" est vide?

J'ai examiné du code et j'ai vu plusieurs exemples où le premier élément d'A pour le cycle est omis.

Un exemple: xxx

Que fait Cela signifie?

Merci.


0 commentaires

8 Réponses :


2
votes

Cela signifie que la valeur initiale de trou a été définie avant que nous arrivions à la boucle


0 commentaires

23
votes

Cela signifie simplement que l'utilisateur a choisi de ne pas définir une variable à sa propre valeur de départ.

for(;;)
{
runs indefinitely
}


7 commentaires

Déclarant que je suis à l'intérieur de la pré-initialisation de la boucle n'est pas assez équivalent à la déclarer juste avant la boucle. Dans le premier cas, sa portée est le corps de la déclaration pour la déclaration - c'est-à-dire que vous ne pouvez pas y accéder après la fermeture du corps de la déclaration. Dans ce dernier cas, la variable que je peux toujours être accessible après le corps de la boucle.


Tandis que vous peut utiliser pour (; i , il est de stylistiquement mieux d'aller avec le SMIPLER et la lecture plus facile à lire tandis que (i .


En fait, ceux-ci ne sont pas équivalents. "Je" n'est déclaré que pour cette portée quand elle est déclarée dans le mot-clé.


J'aime aussi aller avec le code Smipler. En outre, il devrait être aussi reddiable que possible. :)


En fait, vous n'avez pas besoin de définir une variable dans la première expression d'un pour instruction. Essayez ceci: pour (std :: cout << "premier \ n"; faux;); . Comme Edward l'a dit dans son commentaire, c'est une étape de pré-initialisation.


Pourquoi ce code donne une erreur: Tapez "Int" Identificateur non déclaré inattendu et "J '" non déclaré pour (int i = 0, int j = arrsize - 1; i


@Lsrawat Vous devriez probablement demander une nouvelle question, mais c'est int i = 0, j = arrsize - 1 et non int i = 0, int j = 0 = 0, int J = arrsize - 1



1
votes

Cela signifie que la variable de contrôle de la boucle est initialisée avant la boucle de la boucle.

For C  code,

int i=0;
for( ; i <10 ; i++) { } //since it does not allow variable declaration in loop 

For C++  code,

for(int i=0 ; i <10 ; i++) { }  


1 commentaires

C99 vous permet d'utiliser le formulaire "C ++", il n'est donc plus nécessaire de déclarer la variable à l'extérieur de la déclaration. Toutefois, en C et C ++, une variable déclarée à l'intérieur de la déclaration est hors de portée après cette déclaration. Si vous souhaitez utiliser la variable après la fin de l'instruction FOR, la syntaxe (; I <10; i ++) est nécessaire.



1
votes

Vous pouvez omettre l'un des paramètres d'A pour la boucle. IE: pour (;;) {} est à peu près le même que tandis que (vrai) {}


0 commentaires

8
votes

Le pour construct est fondamentalement (initialisation pré-boucle; test de terminaison de boucle; extrémité de la boucle itération) , donc cela signifie simplement qu'il n'y a aucune initialisation de rien dans cette Pour la boucle.

Vous pouvez refacturer tout pour boucle donc: xxx


0 commentaires

1
votes

Cela signifie que la valeur initiale du trou a été définie avant que nous arrivions à la boucle.

ressemble à une liste de trershasse d'une sorte.


0 commentaires

1
votes

Supposons que vous vouliez xxx pré>

mais la valeur du trou juste avant que la boucle ne soit déjà 1, vous pouvez glisser cette partie d'initialisation de la boucle: P>

/* value of hole now is 1.*/
for ( ; hole*2 <= currentSize; hole = child)


0 commentaires

2
votes

Certaines personnes ont mal le mal, alors je voulais juste le refuser.

for (int i = 0; i < 10; i++)
{
  //Code
}
std::cout << i;


0 commentaires