11. februar 2005 - 10:07Der er
6 kommentarer og 1 løsning
heap spg
Hejsa!
Jeg har for sjov prøvet at se om man kunne fylde heapen ud og få retuneret 0 hvis den er fyldt.
Det er ikke lykkes hverken i windows eller med ontime. I windows lægger windows programmet ned og i ontime forsætter den med at tælle uden at jeg får retuneret 0.
Jeg bruger følgende kode:
do { name = new char[10999999]; if (name = NULL) {
Mig bekendt er der ingen krav om at en Ansi C++ kompilers new skal kaste en exception.
I C++ standarden står der: An allocation function that fails to allocate storage can invoke the currently installed new_handler (18.4.2.2), if any. [Note: A programsupplied allocation function can obtain the address of the currently installed new_handler using the et_new_handler function (18.4.2.3). ] If an allocation function declared with an empty exceptionspecification (15.4), throw(), fails to allocate storage, it shall return a null pointer. Any other allocation function that fails to allocate storage shall only indicate failure by throwing an exception of class std::bad_alloc (18.4.2.1) or a class derived from std::bad_alloc.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.