Article View: de.comp.lang.c++
Article #188eigenes new
From: Andre Deparade
Date: Tue, 01 Aug 1995 14:58
Date: Tue, 01 Aug 1995 14:58
41 lines
1518 bytes
1518 bytes
Hi,
ich moechte mir ein eigenes new schreiben, dasz testet, ob der speicher
angefordert werden konnte oder nicht. bei nein wird das prg abgebrochen und
eine meldung ausgegeben: kein speicher in zeile x, datei bla.cc
unter c geht das mit preprozessormakros __FILE__, __LINE__ und einer funktion
void *my_malloc(size_t size, char *filename, int lineno)
{
void *tmp_ptr = malloc(size);
if (!tmp_ptr)
fprintf(stderr, "bla"...
}
und einem makro:
#define ex_malloc(size) my_malloc(size, __FILE__, __LINE__)
wird dann so gebraucht:
int int_ptr = ex_malloc(sizeof(int));
also, geht sowas in c++ mit new auch??
ich kann zwar einen operator new mit mehreren argumenten definieren
(das waeren dann der string bzw. das int), aber was musz ich dann in dem operator
new machen, um den korrekten speicher zu kriegen?
bisher habe ich
#define ex_new(typ) new(__FILE__, __LINE__) typ
void *operator new(size_t size, char *filename, int lineno)
{
void *tmp_ptr
tmp_ptr = //was musz hier hin??????
if (!tmp_ptr)
...
return(tmp_ptr);
}
danke im voraus!
dpi
Technical Details
Message-ID:
<3vlfdq$39b@fbi-news.informatik.uni-dortmund.de>Path:
arc1-ca.pugleaf.net!Informatik.Uni-Dortmund.DE!hagen!deparadeShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!Informatik.Uni-Dortmund.DE!hagen!deparade From: deparade@hagen.informatik.uni-dortmund.de (Andre Deparade) Newsgroups: de.comp.lang.c++ Subject: eigenes new Date: 1 Aug 1995 14:58:02 GMT Organization: CS Department, Dortmund University, Germany Sender: deparade@hagen (Andre Deparade) Message-ID: <3vlfdq$39b@fbi-news.informatik.uni-dortmund.de> NNTP-Posting-Host: hagen.informatik.uni-dortmund.de