In other words, language features and techniques that seem interesting only to a few users can be used to make better libraries for everyone else. This is abundantly evident in some libraries already available, such as the STL, which hide a potentially bewildering variety of advanced techniques behind simple interfaces. One of the best things about a language well-designed for writing libraries is that people use it to write great libraries . You can use these libraries at many levels. Read them as literature, to inspire your own designs, and publish your own libraries, so others can learn from them and help you improve them.
Advice Always use the very best, most advanced compiler available.
At one time, using advanced language features was asking for trouble, but no longer. Learn how to write exception-safe code. Be sure to put all your code in namespaces, right from the beginning. Don't be too impressed with inheritance and virtual functions. In particular, be deeply suspicious of deep inheritance hierarchies.