Data structures for C++