- 1. Memory allocated from 'Free Store'
- 2. Returns a fully typed pointer
- 3. new (standard version) never returns a
NULL(will throw on failure)
- 4. Are called with Type-ID (compiler calculates the size)
- 5. Has a version explicitly to handle arrays
- 6. Reallocating (to get more space) not handled intuitively (because of copy constructor)
- 7. Whether they call malloc/free is implementation defined
- 8. Can add a new memory allocator to deal with low memory (set_new_handler)
- 9. Operator new/delete can be overridden legally
- 10. constructor/destructor used to initialize/destroy the object
|
- 1. Memory allocated from 'Heap'
- 2. Returns a void*
- 3. Returns NULL on failure
- 4. Must specify the size required in bytes
- 5. Allocating array requires manual calculation of space.
- 6. Reallocating larger chunk of memory simple (No copy constructor to worry about)
- 7. They will NOT call new/delete
- 8. No way to splice user code into the allocation sequence to help with low memory
- 9. malloc/free can NOT be overridden legally
|