On 10/26/2017 07:54 PM, Martin Sebor wrote: > (...) in the general case, it is preferable to > declare each variable at the point where its initial value is known > (or can be computed) and initialize it on its declaration.
With that I fully agree, except it's not always possible or natural. The issue at hand usually turns up with conditional initialization, like: void foo () { int t; if (something) t = 1; else if (something_else) t = 2; if (t == 1) bar (); } That's a simple example of course, but more complicated conditionals aren't so easy to grok and spot the bug. In the case above, I'd much prefer if the compiler tells me I missed initializing 't' than initializing it to 0 "just in case". Thanks, Pedro Alves