Author: Bruce Moreland
Date: 16:10:00 06/09/00
Go up one level in this thread
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 Your question has already been answered, but I'd like to suggest that you consider whether you need to use "new" at all. A lot of people think that heap allocation is a cost-free operation, and it isn't. It's quite often something you have to do, but if you can get away with putting the thing on the stack, it's better to do that. bruce
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.