Article View: pl.comp.lang.c
Article #998Re: Zamykam dyskusje na temat rzutowania wskaznikow
From: Pawel Piotrowski
Date: Mon, 02 Feb 1998 14:35
Date: Mon, 02 Feb 1998 14:35
39 lines
1635 bytes
1635 bytes
Michal Malecki wrote:
> w programach przenoszonych z C. Jezeli ktos uwaza, ze malloc robi to dobrze,
> to powinien wywolac ja w przeciazonym operatorze new. Poniewaz przy kompilacji
> kompilatorem C++ takiego programu pojawia sie warningi, to przeciez zamiast
> poprawiac wywolanie malloc przez rzutowania, lepiej od razu zamienic to na new.
No, ale moze pojawic sie problem. Bo malloc jak jest za malo pamieci
zwraca NULL, a new rzuca wyjatek.
I wtedy fragment
if( !(ptr=(char*)malloc(bardzo_duzo)) )
{
printf("Brak pamieci!");
}
po zamianie na:
ptr = new char[bardzo_duzo];
if( !ptr )
{
printf("Brak pamieci!");
}
nie zadziala, trzeba to przerabiac na
try{
ptr = new char[bardzo_duzo];
}
catch(xalloc x)
{
printf("Brak pamieci!");
}
co moze byc dosyc klopotliwe dla wiekszych programow.
Pozdrawiam
Pawel
Technical Details
Message-ID:
<34D5D99E.567BF72B@sopot.lex.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.task.gda.pl!not-for-mailReferences:
<34CCAF18.4877@imm.org.pl> <6akmcl$nua@polonez.man.lodz.pl> <01bd2bec$6a5259e0$90baccc2@karpierz.dyn.ml.org> <34CFB490.42E5@bdk.lublin.pl> <34CF4D25.40AE@imm.org.pl> <34d2cba7.10320162@news.nask.org.pl> <6b4kmn$477@polonez.man.lodz.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.task.gda.pl!not-for-mail From: Pawel Piotrowski <pietras@sopot.lex.pl> Newsgroups: pl.comp.lang.c Subject: Re: Zamykam dyskusje na temat rzutowania wskaznikow Date: Mon, 02 Feb 1998 15:35:10 +0100 Organization: LEX Lines: 39 Message-ID: <34D5D99E.567BF72B@sopot.lex.pl> References: <34CCAF18.4877@imm.org.pl> <6akmcl$nua@polonez.man.lodz.pl> <01bd2bec$6a5259e0$90baccc2@karpierz.dyn.ml.org> <34CFB490.42E5@bdk.lublin.pl> <34CF4D25.40AE@imm.org.pl> <34d2cba7.10320162@news.nask.org.pl> <6b4kmn$477@polonez.man.lodz.pl> NNTP-Posting-Host: szmondo.lex.pl Mime-Version: 1.0 X-Mailer: Mozilla 3.01 (X11; I; Linux 2.0.27 i586) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit