title: Implementing complex data structures in C++
body: <p>What's the solution you adopt when you have to implement complex data structures in C++? I mean different kind of objects that should be referenced by other ones and, at the same time, reference other ones. It is really different from the available standard library containers.</p>
  
  <p>Do you try to make your code very C++ and use generic programming (container style template)? IMHO, it seems hard to implement and inconvenient, and it could make the code harder to understand or to work with. Moreover, do you implement any kind of iterator?</p>
  
  <p>Or maybe, on the other hand, you end up with "C style code"? I mean, in each class you implement a few pointers as member variables that reference other objects in order to build the suitable data structure.</p>
  
  <p>According to your experience, what are the advantages and disadvantages of these two approaches? Any other solution?</p>