C++ chain stack implementation