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 12:22 | IT novinky

    V březnu byla oznámena spolupráce GrapheneOS s Motorolou. Nejnovější vlajka Motorola Signature 27 je první Motorola s oficiální podporou GrapheneOS. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

    Ladislav Hagara | Komentářů: 0
    včera 04:55 | Nová verze

    Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.

    Ladislav Hagara | Komentářů: 3
    včera 03:22 | Nová verze

    Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    5.11. 19:53 | Bezpečnostní upozornění
    V Xenu objevena zranitelnost. Chyba v mechanismu grant copy umožňuje škodlivému virtuálnímu stroji číst a přepisovat libovolnou paměť jiných VM včetně privilegované domény Dom0. Dotčené verze jsou Xen 4.6 a novější. V upstreamu jsou dostupné patche pro Xen 4.17 až 4.19 a vývojovou větev. Pro starší nepodporované verze 4.6–4.16 nejsou v XSA-523 přiloženy opravy.
    vencour | Komentářů: 1
    5.11. 16:55 | Nová verze

    Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).

    ʚĭɞ 🍉 | Komentářů: 0
    5.11. 12:22 | Nová verze

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.5.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    5.11. 12:11 | Nová verze

    Byla vydána (𝕏) nová verze 8.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    5.11. 04:22 | Nová verze

    Byla vydána verze R14.1.7 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 4
    5.11. 00:33 | Nová verze

    Bazzite (Wikipedie), tj. linuxová distribuce vycházející z Fedora Linuxu a optimalizována pro hraní počítačových her, byla vydána ve verzi 45. S Open Gaming Collective (OGC) jádrem a novým Easy Anti-Cheatem pro Linux (EAC Linux v2).

    Ladislav Hagara | Komentářů: 0
    4.11. 22:11 | Bezpečnostní upozornění

    MikroTik zveřejnil vlastní bezpečnostní upozornění potvrzující, že zranitelnost linuxového jádra postihuje také RouterOS 7. Jde o use-after-free při zpracování IPv4 TCP spojení s IP options. Zranitelnost se týká provozu směřujícího na TCP službu samotného routeru, nikoli paketů, které router pouze přeposílá. Opraveno v long-term od 7.24.6, v stable od 7.25.1 a devel od 7.26beta5.

    vencour | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2992 hlasů
     Komentářů: 35, poslední včera 23:27
    Rozcestník

    Dotaz: C++ test na existenci dynamicky alokovane promenne

    menphis avatar 19.8.2008 23:51 menphis | skóre: 22 | blog: menphis_blog
    C++ test na existenci dynamicky alokovane promenne
    Přečteno: 690×
    dneska jsem resil zhruba nasledujici problem:

    mam tridu
    class Trida
    {
    public:
    
    double* data
    
    Trida(int);
    ~Trida();
    Test(i);
    
    };
     
    v metode test dynamicky alokuji pole:
    data = new double[i];
    jak lze pote v destruktoru tridy (ale i jinde) zjistit, zda se pole skutecne alokovalo ? obvykla metoda
    if (data) 
    selze, protoze promena data existuje a navic ukazuje i na konkretni misto v pameti.

    vim, ze by se napriklad pomoci bloku try dalo testovat, zda se vytvoreni pole povedlo primo v metode Test(i) a pripadne nastavit nejakou vlajku, ale takove reseni mi prijde docela kostrbate. neexistuje nejaky lepsi zpusob ?

    Odpovědi

    Luboš Doležel (Doli) avatar 20.8.2008 00:12 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: C++ test na existenci dynamicky alokovane promenne
    Inicializovat data v konstruktoru na 0
    menphis avatar 20.8.2008 00:31 menphis | skóre: 22 | blog: menphis_blog
    Rozbalit Rozbalit vše Re: C++ test na existenci dynamicky alokovane promenne
    dik, ale tohle prave nechci, protoze promenou data budou pouzivat jen nektere instance tridy, takze ji nechci vytvaret v konstruktoru tridy, ale az ve chvili kdy bude potreba.
    Luboš Doležel (Doli) avatar 20.8.2008 00:42 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: C++ test na existenci dynamicky alokovane promenne
    Co je to za blbost? Jaké vytváření proměnné? :-)
    menphis avatar 20.8.2008 01:10 menphis | skóre: 22 | blog: menphis_blog
    Rozbalit Rozbalit vše Re: C++ test na existenci dynamicky alokovane promenne
    sorry ze tu pisu hlouposti , ale s cpp teprve zacinam. myslel jsi to teda cca takhle ? :

    v konstruktoru tridy:
    double u=-1;  
    *data=&u;
    
    a pak v destruktoru tridy
    if ( *data < 0 ) 
    delete [] data;
    
    20.8.2008 01:27 Jirka P.
    Rozbalit Rozbalit vše Re: C++ test na existenci dynamicky alokovane promenne
    Ne. data je ukazatel, dá se použít jako hodnota. Když je 0, je prázdný. Takže v konstruktoru

    data=0;

    v destruktoru

    delete [] data;

    alokace (pozn. není exception-safe)

    delete[] data; data=new double[2];

    použití

    if(data) use_data;

    Pokud alokace selže, vyhodí výjimku.
    Luboš Doležel (Doli) avatar 20.8.2008 01:35 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: C++ test na existenci dynamicky alokovane promenne
    Pokud alokace selže, vyhodí výjimku.
    Což se dá změnit použitím new (nothrow) nebo použitím set_new_handler().
    menphis avatar 20.8.2008 02:09 menphis | skóre: 22 | blog: menphis_blog
    Rozbalit Rozbalit vše Re: C++ test na existenci dynamicky alokovane promenne
    dik...

    Založit nové vlákno • Nahoru

    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.