
Initialization in C++ is Bonkers - ingve
https://accu.org/index.php/journals/2379
======
bfu
Everything in C++ is bonkers. You cannot put everything into a language and
expect it to be consistent and safe.

------
drudru11
This was published earlier and in a much more readable format at:

[https://blog.tartanllama.xyz/c++/2017/01/20/initialization-i...](https://blog.tartanllama.xyz/c++/2017/01/20/initialization-
is-bonkers/)

------
flavio81
TL;DR: The author writes a snippet of C++ code where he declares variable but
not initializes them. Of course any programmer that has started in C knows
that such variables will then have unexpected values.

The author recommends us: "initialize your variables."

Then follows a interesting and fun, but not really important, review of the
different ways if initialization in C++. And they are bonkers.

~~~
bhk
It would be unimportant if nobody used C++.

Unfortunately, many languages have gotchas like these, and specifications and
tutorials often fail to point them out. For the sake of education they should
be shouted loudly. You don't really know a language, and aren't really safe
using it, until you understand them.

~~~
qett
The specifications, at least the C and C++ specifications, absolutely point
these things out.

~~~
flavio81
Exactly, i recall that was one of the first things I read, i think, on the
Kerninghan&Ritchie classic book ("The C Programming language").

Also on university they repeated to me exactly the same thing. "Since each
variable points to a memory location, you can't be sure of what is inside that
memory location, until you initialize the variable".

