First places for me for me:
Does the application specify a lot of preallocation memory that will be used later? Is this memory often sitting around unused, never distributed? Think about switching to new / uninstall (or better use smart_ptr) as needed.
Does the code use a static array such as
Object arrayOfObjs[MAX_THAT_WILL_EVER_BE_USED];
and pass objs in this array? If so, consider manually managing this memory.
source share