Author: Dan Newman
Date: 13:58:13 06/09/00
Go up one level in this thread
On June 09, 2000 at 16:56:31, Dan Newman wrote: >On June 09, 2000 at 16:33:25, James Robertson wrote: > >>Will my program get sick if I write: >> >>int *a = new int[64]; >>int *b = a; >>.... >>delete [] b; >> >>? >> >>This question stems from my lack of knowledge about how a program knows how much >>memory it has allocated at runtime. That is to say, where does the program store >>the size of a so the memory will be freed if you call delete []? If you try to >>free this memory from another pointer (b) will it still know that 64 ints need >>to be deleted? >> >>James > >Yes. The number of elements gets recorded somewhere. I don't know the >details of the implementation, but I've always imagined that an extra word >gets alocated just ahead of the array to hold the count... > >-Dan. P.S. When I said "yes" it was to the last question, not the first :) -Dan.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.