add virtual destructor, noncopyable, nonassignable
Merge branch 'master' of github.com:xuwangyin/cpp_snippets