l i n u x - u s e r s - g r o u p - o f - d a v i s
Next Meeting:
July 7: Social gathering
Next Installfest:
Latest News:
Jun. 14: June LUGOD meeting cancelled
Page last updated:
2012 May 21 20:56

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox-tech] C++ problem
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] C++ problem

> -------- Original Message --------
> Subject: [vox-tech] C++ problem
> From: Richard Harke <paleopenguin@gmail.com>
> Date: Sat, May 12, 2012 4:03 pm
> To: vox-tech@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.


vox-tech mailing list

LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Sunset Systems
Who graciously hosts our website & mailing lists!