abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 14
    včera 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    19.12. 17:00 | Komunita

    Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.

    Ladislav Hagara | Komentářů: 1
    Kdo vám letos nadělí dárek?
     (33%)
     (2%)
     (10%)
     (2%)
     (1%)
     (2%)
     (16%)
     (19%)
     (14%)
    Celkem 83 hlasů
     Komentářů: 18, poslední včera 15:30
    Rozcestník

    Dotaz: rucni volani konstruktoru a destruktoru v C++

    30.11.2006 16:22 dylan hunt
    rucni volani konstruktoru a destruktoru v C++
    Přečteno: 2075×
    Ahoj.

    Mam v C++ takovouto tridu:
    class A {
    public:
            A() { ... }
            ~A() { ... }
            ...
    };
    
    Z urcityho duvodu (interakce s knihovnou v C) ale nemuzu jeji instanci vytvorit pomoci new, ale pamet musim alokovat pres malloc. Je mozne potom nejak zavolat konstruktor a destruktor ?
    A *a = (A *) malloc(sizeof(A));
    // nejak zavolat konstruktor na *a
    ...
    // nejak zavolat destruktor na *a
    free(a)
    
    Chtel bych navic zabranit volani kopirovaciho konstruktoru nebo operatoru prirazeni. Jo a navic nemuzu tride A pridat zadnou metodu...

    Je neco takovyho vubec mozny ???

    Diky.

    Odpovědi

    Luboš Doležel (Doli) avatar 30.11.2006 16:24 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: rucni volani konstruktoru a destruktoru v C++
    V Microsoft Visual C++ lze použít __ctor() a __dtor(); také by mě docela zajímalo, jestli něco podobného existuje v GCC.
    30.11.2006 16:30 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: rucni volani konstruktoru a destruktoru v C++
    K tomuto účelu slouží tzv. placement new.
    30.11.2006 16:30 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: rucni volani konstruktoru a destruktoru v C++
    (je to standardní součást jazyka, žádné nestandardní rozšíření)
    30.11.2006 16:32 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: rucni volani konstruktoru a destruktoru v C++
    Druhou možností je přetížení operátorů new a delete.
    30.11.2006 16:50 dylan hunt
    Rozbalit Rozbalit vše Re: rucni volani konstruktoru a destruktoru v C++
    Diky, funguje to :-)

    Vysledna podoba:
    A *a = (A *) malloc(sizeof(A));
    a = new(a) A();
    ...
    a->~A();
    free(a);
    
    30.11.2006 17:17 Luboš Luňák | skóre: 19 | blog: Seli
    Rozbalit Rozbalit vše Re: rucni volani konstruktoru a destruktoru v C++
    Na tu hlavni otazku placement new a rucni volani dtoru, jak uz tu je uvedeno. Na zabraneni volani jakekoliv metody staci ji deklarovat v private: sekci a nikde neimplementovat. Pak budou bud nedostatecna pristupova prava k pouziti nebo to linker nenajde. S tim nepridanim metody jsem to nejspis nepochopil, ale to asi nejde.
    30.11.2006 17:49 dylan hunt
    Rozbalit Rozbalit vše Re: rucni volani konstruktoru a destruktoru v C++
    Asi jsem se spatne vyjadril. S tim nepridanim metody to bylo mysleno tak, ze tridu A nesmim nijak modifikovat. A s tim zabraneni volani tak, ze nechci pouzit treba:
    *a = A();
    
    protoze C++ by zavolalo 'operator =' u neinicializovaneho objektu.

    Problem je uz vyresen, ale diky za snahu.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.