Cita:
Iniciado por HackmanC Hola,
No sé específicamente a que te refieres con while(true) .. pero desde mi punto de vista es lo peor que puedes hacer en una aplicación, en el lenguaje que sea, para hacer lo que sea, a menos que haya un break o un salto de control por otro medio, y no se quede bloqueado todo el sistema.
Saludos,
Lo que decía, y sostengo, es que while(true) es una formal normal, habitual, de mantener un proceso activo a la espera de un evento; por ejemplo... en
https://msdn.microsoft.com/en-us/lib...=vs.85%29.aspx
hay un ejemplo casi completo de lo mismo que se pregunta, donde se procesa la cola de mensajes con un ciclo while infinito (infinito, claro está, hasta el momento en que deja de serlo; en este caso, por la llegada de WM_QUIT).
donde dice:
Código C++:
Ver originalwhile( (retVal = GetMessage(&msg, NULL, 0, 0)) != 0 )
{
if ( retVal == -1 )
{
ErrorHandler(TEXT("GetMessage"));
break;
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
podría, también, haber puesto un equivalente:
Código C++:
Ver originalwhile(true)
{
retVal = GetMessage(&msg, NULL, 0, 0);
if(retVal == 0)
{
break;
}
else if ( retVal == -1 )
{
ErrorHandler(TEXT("GetMessage"));
break;
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
Y no sé si es lo mejor que puede hacerse, pero seguramente no es lo peor; al menos yo puedo pensar en cosas peores sin mucho esfuerzo.