Article View: be.comp.programming
Article #16303Re: hoe memory dealloceren onder Linux (in C++) ?
From: Koen Deforche
Date: Mon, 22 May 2000 00:00
Date: Mon, 22 May 2000 00:00
53 lines
2034 bytes
2034 bytes
Hi,
> #include <iostream.h>
>
> int main()
> {
> char *name;
> int *number;
>
> name = new char[30];
> number = new int;
>
> name = "Just a string";
> *number = 27;
>
> cout<<" name = "<<name<<endl;
> cout<<" number = "<<*number;
> delete[] name;
> delete number;
>
> return 0;
> }
Ofwel doe je :
// no new!
const char *name = "Just a string";
...
// delete[] name (no new, no delete!)
Ofwel doe je :
char *name = new char[30];
strcpy(name, "Just a string");
...
delete[] name;
Wat jij deed was:
- geheugen alloceren en pointer ernaar bijhouden
- pointer naar ergens anders laten wijzen (name = "Just a string";)
m.a.w. je bent je gealloceerd geheugen aan het leaken.
- pointer deleten die niet naar een stuk door jouw gealloceerd
geheugen wijst ("Just a string" zit gewoon ergens ingebakken
in je geheugen door de compiler).
> Deze code werkte vroeger wel met Turbo C++ 3.0 voor DOS (jaja, lang
> geleden) maar doet het nu blijkbaar niet meer onder Linux (RH 6.0). Of
Wel, dan had je met Turbo C++ waarschijnlijk gewoon geluk dat je
computer niet begon te flippen. Ofwel was Turbo C++ heel anders
dan wat nu de standaard C++ is.
koen.
Technical Details
Message-ID:
<3928FE5D.20E0E360@easics.be>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<39287163.8A662AF4@village.uunet.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,d48d860c4c351de,start X-Google-Attributes: gidfcea4,public From: Koen Deforche <koen@easics.be> Subject: Re: hoe memory dealloceren onder Linux (in C++) ? Date: 2000/05/22 Message-ID: <3928FE5D.20E0E360@easics.be> X-Deja-AN: 625778929 Content-Transfer-Encoding: 7bit References: <39287163.8A662AF4@village.uunet.be> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii X-Complaints-To: newsmaster@kpnqwest.net X-Trace: nreader1.kpnqwest.net 958987869 193.74.198.7 (Mon, 22 May 2000 11:31:09 MET DST) Organization: Easics nv, Leuven, Belgium, http://www.easics.com MIME-Version: 1.0 NNTP-Posting-Date: Mon, 22 May 2000 11:31:09 MET DST Newsgroups: be.comp.programming