Problemy s gcc

Petr Novotny Petr.Novotny na antek.cz
Středa Září 20 11:25:50 CEST 2000


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 20 Sep 2000, at 11:20, Zbynek Vyskovsky wrote:

> > > 4)
> > > Jak zavolat konstruktor na jiz alokovanou pamet? U vetsiny
> > > kompilatoru to jde zapisem ((class0 *)mem)->class0::class0(); U
> > > gcc jsem na to neprisel.
> > 
> > Ale fuj. Na tohle je preci placement new.
>
>  Jenze ja tu pamet uz mam alokovanou. Problem je hlavne v tom, ze je
>  az od
> nejakeho offsetu v jiz alokovane pameti, takze me ani overloadnuty new
> nezachrani.

Asi mi nerozumite. Presne na tohle placement new je - delate "new 
do predalokovaneho mista".

Zkuste
void *ptr=malloc(sizeof(Class));
Class *ptr_class=new(ptr) Class(parameters);
(snad jsem nepomotal syntaxi)

Je samozrejme na vas, abyste spravne zavolal i destruktor - 
operator delete vam na to nepomuze.

-----BEGIN PGP SIGNATURE-----
Version: PGP 6.5.8 -- QDPGP 2.61b
Comment: http://community.wow.net/grt/qdpgp.html

iQA/AwUBOch0jlMwP8g7qbw/EQKp/gCg4wwl07dLNkMEVGvj+tiUXdAntSQAnRGo
CkQnFbYz8IPkn907eIpAG7Sb
=YRDW
-----END PGP SIGNATURE-----
--
Petr Novotny, ANTEK CS
Petr.Novotny na antek.cz
http://www.antek.cz
PGP key ID: 0x3BA9BC3F
-- Don't you know there ain't no devil there's just God when he's drunk.
                                                             [Tom Waits]


Další informace o konferenci Linux