On 05/10/2017 04:34 AM, Kees Dekker wrote:
I forgot something: warnings about not initialized variables are almost always triggered because there is a If else[/if else].. codepath, where one of the codepaths uses a variable that is not initialized somewhere. Yes, here's an example of the problem:
bool ok = complicated condition; int value; if (ok) value = complicated expression; complicated actions; if (ok) return value; An inferior compiler might complain that 'value' might be used uninitialized. One can pacify such a compiler by changing line 2 to 'int value = 0;', and you're correct that this typically won't slow the code down significantly. However, such a change obfuscates the source code, as the reader is left wondering why the unnecessary initialization is present. Instead, it's better to disable or ignore the bogus warnings, or get a better compiler. After all, there's nothing wrong with this code, and your compiler is supposed to be your servant not your master.