C++ is WEAK!
C++ is weak. This means you can easily convert types. For example, it's no problem to go from a char to an int in C++.
This image sums it up pretty well.
And to show you just how easy it is, let's convert a string into a boolean (bool array to be more specific, bool array representing binary values to be even more specific).
Run the code to see a string be turned into a bool!
@DynamicSquid That's just how low level languages are.
It is not converting between types, you simply can't say "This set of zeroes and ones are going to be a type int". It is, what you say, "weakly-typed" due to the low level ability to work with the bits of each "type" ideal.
So, logically speaking, it is not weakly-typed, it is just a matter of how you want to use the types and if you want to work with bits or not.