this one helps. When you start storing a very large number of objects, object allocation overhead becomes a real issue. For example, with .NET running on a 32-bit system, allocating any object requires a minimum of 16 bytes. On a 64-bit system, you're talking 24 bytes minimum per object. If your individual objects are small, that allocation overhead is a huge price to pay. You said that you have a "tree like structure." Without more detail about your application, I can't say for certain that this applies, but most tree structures require pointers to child nodes and (sometimes) pointers back to the parent nodes. As useful as trees are, they sometimes incur very large overhead. It's not uncommon for the parent and child links to require 50% or more of the total memory used by your tree.
What is mean by reference in .net wrt CLR (managing objects)?
this will help If you don't want to think in terms of C++ pointers, then it means that if you pass an object to a method by reference, then the method can modify the original object. If you pass it by value, then the method gets a copy of the object and can't modify the original.
C++: managing a set of objects so that the held objects can access the data structure holding them
fixed the issue. Will look into that further I would not introduce an unnecessary dependence between Cell and Game, if all Game does is to call methods on Cells and hold instances of them. You could instead return new Cells (or none) from Cell::update() and let Game decide what to do, most probably add them to the list. You could also define a new function for this in Cell, something like Cell::splitCell() and let Cell::update() only update properties of Cell objects (as the name would suggest).
hop of those help? Pointers or instances If you create a pointer using new you have to remember to delete it. If you are using a real instance, make sure you define a copy constructor, because std::vector copies your objects often.
With these it helps android.app.Application sounds similar to iOS's App Delegate (UIApplicationDelegate). Certain methods in the App Delegate get called when the application's state changes, check out the following methods: