[vox-tech] C++ problem

timriley at appahost.com timriley at appahost.com
Mon May 14 14:56:58 PDT 2012


> -------- Original Message --------
> Subject: [vox-tech] C++ problem
> From: Richard Harke <paleopenguin at gmail.com>
> Date: Sat, May 12, 2012 4:03 pm
> To: vox-tech at lists.lugod.org
> 
> 
> I'm working on a small C++ program. In one of the constructors I
> create a local pointer variable
> with double * var = new double [size]  I later return the memory with
> delete [] var
> Immediately after the delete I find that some of the class's private
> variables have been over written. The variables are ok just before the
> call to delete.

I have two observations to make that may or may not apply.

1) If you don't expect your code to run on Windows, then don't
bother deleting (or free()ing) memory. Freeing memory,
especially pointers, can be time consuming to program
perfectly. Linux will recover the allocated heap after
the process ends. However, if you expect to run it on
Windows or it's a daemon, then you do need to secure
this memory leak.

2) You're allocating an array of pointers. Given that the snippet
doesn't include the allocation of each double that will be
pointed to, it might be the stack collision is occurring there.
The delete anomaly may be a reflection of another problem.

<snip>



More information about the vox-tech mailing list