Ich habe die folgende Situation
bool user_set_flag;
getFlagFromUser(&user_set_flag);
while(1){
if(user_set_flag){
//do some computation and output
}
//do other computation
}
Die Variable user_set_flag
wird nur einmal und nur einmal im Code gesetzt, und zwar ganz am Anfang, wo der Benutzer im Wesentlichen auswählt, was er mit dem Programm machen will. Angenommen, der Benutzer wählt user_set_flag = false
dann wird der Compiler den Code so kompilieren, dass die if(user_set_flag)
Anweisung nur einmal geprüft wird, oder ob sie immer geprüft wird. Kann ich dem Compiler Hinweise geben, wie z. B. die Umwandlung von bool in const?
Der Grund für diese Frage ist, dass meine Anwendung zeitkritisch ist und Frames so schnell wie möglich verarbeitet werden müssen. Eine Verzweigung, die immer falsch ist, sollte irgendwie zur Laufzeit bestimmt werden können?