cache in class
Why implement custom copy constructor in C++?