By the way, using "atoi" in a code snippet in 2025 and complaining that it is "not ideal" is, well, not ideal.
By the way, using "atoi" in a code snippet in 2025 and complaining that it is "not ideal" is, well, not ideal.
Modern C++ has reduced a lot of typing through type inference, but otherwise the language is still strongly typed and essentially the same.
It _is_ statically typed, though, so it falls in a weird category of loosely _and_ statically typed languages.
That aside, the only remaining footgun in C++ is the implicit numeric conversions. What else did you have in mind?
Then you have all the shenanigans around placement-new and vtables.
If it isn't downright weak, it's also not particularly strong.
OTOH placement-new is pretty much impossible to use by accident. If used intentionally, I don't see it as being any different from an explicit cast - again, you get what you signed up for.
Interestingly in some ways C++ is arguably more typesafe than languages like Java or C#, given how it handles dynamic type of object during construction & destruction...