The most effective way to increase your store of knowledge is to try new problems in a controlled way. Pick one aspect of C++ that you haven't understood before and write a program that, aside from using that one aspect, uses only things that you have already mastered. ... For example, if you aren't sure that you understand the difference between a copy constructor and an assignment operator, try writing a program that proves that you know the difference. The act of designing such a program will force you to understand the difference much more effectively than will merely reading more about copy and assignment. - Koenig and Moo in "What do you do after you say Hello world!" (Ruminations on C++) |