En muchos idiomas, puede declarar una variable y usarla antes de inicializarla.¿Qué beneficio hay en permitir que una variable se deje sin inicializar?
Por ejemplo, en C++, se puede escribir un fragmento tales como:
int x;
cout << x;
Esto, por supuesto, volver impredecible (bueno, a menos que sepa cómo su programa fue trazando memoria) resultados, pero mi pregunta es, ¿por qué este comportamiento es permitido por los compiladores?
¿Existe alguna aplicación o eficiencia que resulte de permitir el uso de memoria no inicializada?
edit: Se me ocurrió que dejar la inicialización al usuario minimizaría las escrituras para los medios de memoria que tienen vidas útiles limitadas (ciclos de escritura). Solo un ejemplo específico bajo el encabezado de "rendimiento" antes mencionado. Gracias.
¿No mejoraría más el rendimiento al no declararlo? De esa forma, la memoria ni siquiera necesitaría asignarse para la variable. Cualquiera que cite el rendimiento para este tipo de código es simplemente incorrecto. –
La palabra clave es * más antigua *. Hace 40 años, cuando C se estaba desarrollando, "desperdiciar" una instrucción o dos para autoinicializar una variable realmente podría haber importado. – dan04
Perder una instrucción podría haber sido valioso, pero en el sentido de rendimiento, tener esa instrucción adicional (o dos o tres) haría que la aplicación fuera menos eficiente. –