🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #16303

Re: hoe memory dealloceren onder Linux (in C++) ?

#16303
From: Koen Deforche
Date: Mon, 22 May 2000 00:00
53 lines
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-mail
References: <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