Hola.
En algunos lenguajes la diferencia entre usar
for y
while es significativa ya que el segundo puede evaluar la condición antes de entrar al ciclo y el primero está limitado a iterar desde un valor inicial a uno final, por otro lado el
for ejecutará al menos una vez el ciclo.
Esta diferencia es totalmente nula en C/C++ ya que en estos, el
for es una estructura muchísimo mas versátil.
Se puede comprobar con un simple ejemplo:
Código C++:
Ver original#include<iostream.h>
using namespace std;
int main(){
int c = 0;
/* while verifica al inicio, no ingresa al ciclo */
while (c > 0) {
cout << "Entre al while";
c--;
}
/* for verifica al inicio, no ingresa al ciclo */
for(; c > 0; c--) cout << "Entre al for";
cin.get();
return 0;
}
En ningún caso se entra al ciclo.
Particularmente cuando se conoce el valor incial y el final de un ciclo, me parece mucho mas claro el uso de
for, de otro modo el
while. Por supuesto es una apreciación personal.
En cuanto a la performance no hay diferencias significativas, esto se puede comprobar compilando con salida a assembler y comparando los códigos resultantes.
Un saludo.