🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #188

eigenes new

#188
From: Andre Deparade
Date: Tue, 01 Aug 1995 14:58
41 lines
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!deparade

Show 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