I'd like to amplify lee1210's point, and, with apologies to jsnuff1, contrast that opinion. It is true that you do learn quite a bit by example and experiment, but don't forget that this science dates back many decades and a great many have blazed these trails before.
Design patterns are one important area of study you won't pick up simply by reading examples. You might notice a few yourself, but it took decades to reach the point we're at now.
For an example, how would you know if you can write a function in C++ that can't leak any resources it allocates even in the presence of exceptions? It is not at all likely, though possible, that a self taught student would understand how they can know with that degree of certainty.
In another point, how would anyone understand the concept of the basic guarantee, the strong guarantee and the no-fail guarantee and how that relates to exceptions in C++? How would someone 'pick up' the notion that it is possible to ensure that, in the presence of catastrophic error, they've written everything in a standard that ensures they can at least save the work their user has accomplished up to the point of exit? Without exception safety techniques, this isn't possible to guarantee. In the absence of exception safety techniques, it's likely that some portion of their data set is invalid, creating a corrupt image (image meaning document, SQL data, anything the program saves).
Concepts like compile time polymorphism through templates, meta-programming (controlling the compiler), the separation of implementation from interface - these are not likely as well understood by following along, but by genuine understanding of why things are done the way they are. Examples are generally written to demonstrate a limited set of concepts. You would gain knowledge above the intermediate stage by reading through the code of an advanced application, probably from an open-source project (since that's what's available for study), but that's quite dense and I suspect more time consuming than reading a treatise on the subjects which are known to be of advantage in the highest orders of the practice.
After being so contrary to jsnuff1, I'd like to point out that I'm not trying to be argumentative on the point; there was a year or two when I had a similar viewpoint (but that was probably 25 years ago now). You can become surprisingly functional as a casual student of this work. If, on the other hand, you aspire to more ambitious application targets, say artificial intelligence, signal processing or simply full scale, merchantable applications, your competition is a population of developers like me. Believe me when I say, you'll want to know all you can learn if your goal is to attract customers or win a contract.
...and then some wise*** like Alexandrescu will come along and give us something else to think about
, say in the next version of these languages.