Article View: pl.comp.lang.c
Article #1005Re: malloc czy (type *)malloc?
From: milosz danielewski
Date: Wed, 28 Jan 1998 18:30
Date: Wed, 28 Jan 1998 18:30
29 lines
1902 bytes
1902 bytes
On 27 Jan 1998 13:10:45 GMT, Michal Malecki <sektor@zly.kis.p.lodz.pl> wrote: >Powiedzcie mi panowie: KTO PRZY ZDROWYCH ZMYSLACH uzywa w programie w C++ >funkcji malloc!? >Z operatorem new jest taki akurat dowcip, ze zwraca on co prawda typ void* >(vide: przeciazanie operatora new), ale nie wymaga nigdy konwersji. >Poniewaz C++ jest jezykiem o silnej typizacji, takie numery nie moga byc >dozwolone. I w praktyce niestey nie nalezy stosowac w C++ funkcji malloc, >tylko operator new. Jezeli komus koniecznie zalezy na stosowaniu malloc, >to powinien przeciazyc operator new. Dlaczego ? >Zarowno new jak i malloc dokonuja konstrukcji obiektu. Jednak... >Funkcja malloc robi to zle. Jedyne bowiem co robi to przydziela pamiec. >Podam dwa przyklady, dowodzace, ze w C++ nie nalezy stosowac malooc: > >1. Jezeli np. klasa Klocek jest abstrakcyjna, to po deklaracji: >Klocek* pk; >kompilator odrzuci stanowczo: >pk = new Klocek; >ale nie ma powodu, by odrzucic: >pk = (Klocek*) malloc( sizeof (Klocek) ); >Moze to spowodowac trudne do wykrycia bledy. Na szczescie, nie wszyscy pisza w C++ programy, ktore nic nie robia tylko mnoza obiekty. Niektorzy pisza programy przydzielajace pamiec i do tego celu malloc wystarcza. Acha, jakbys nie wiedzial to new wywoluje malloc... milosz danielewski
Technical Details
Message-ID:
<34d11f26.6323935@news.icm.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!not-for-mailReferences:
<34CCAF18.4877@imm.org.pl> <6akmcl$nua@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!not-for-mail From: mdaniel@priv.onet.pl (milosz danielewski) Newsgroups: pl.comp.lang.c Subject: Re: malloc czy (type *)malloc? Date: Wed, 28 Jan 1998 18:30:34 GMT Organization: ICM's news server Lines: 29 Message-ID: <34d11f26.6323935@news.icm.edu.pl> References: <34CCAF18.4877@imm.org.pl> <6akmcl$nua@polonez.man.lodz.pl> NNTP-Posting-Host: rap-wct346.katowice.tpnet.pl Mime-Version: 1.0 X-Newsreader: Forte Agent 1.5/32.451 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit