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 22:11 | Pozvánky

    Dětem začala škola a nedobrovolně se tak musí vzdělávat. Avšak pro dospělé, kteří se chtějí vzdělávat nebo naopak se o vědomosti podělit, je tu Virtuální Bastlírna - jako každý měsíc si můžete online a zdarma nezávazně popovídat o vědě a technice nejen s bastlíři, ale i s vývojáři, vědci nebo profesory. A čemu se strahováci budou věnovat? Blíží se KiCAD 11 s nespočtem novinek, z nichž zde musí zmínit alespoň možnost kótování a závislostí z

    … více »
    bkralik | Komentářů: 0
    včera 19:33 | Komunita

    Asahi Linux, tj. Linux pro Apple Silicon, oficiálně podporuje čipy M3 (M3, M3 Pro a M3 Max).

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 15:00 | IT novinky

    Server SiFive BigSky SF-2U870 2U je založený na jádře SiFive P870-D, zatím je naintegrovaných 32 jader 256 GB RAM 2 GHz, škálovat lze do 256 jader na čip. O něco podrobnější popis serveru v článku SiFive BigSky Ships the First RISC-V Server. Is the GPU Head Node the Prize? na futurumgroup.com. Asi ani tento čip nebude na úrovni nejlepších 64-bit ARMů a AMD Zenů, ale splňuje RVA23 specifikaci a je podporovaný Ubuntu 26.04 LTS a RHEL 10. V článku je

    … více »
    Pavel Píša | Komentářů: 1
    včera 00:11 | IT novinky

    Na YouTube lze zhlédnout nový celovečerní dokumentární film The Story of VS Code | Official Documentary věnovaný Visual Studio Code.

    Ladislav Hagara | Komentářů: 14
    4.9. 23:49 | Zajímavý článek

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 26.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 1
    4.9. 17:33 | Zajímavý článek

    Bylo vydáno nové číslo hackerského magazínu tmp.0ut: Volume 5.

    Ladislav Hagara | Komentářů: 0
    4.9. 01:44 | Nová verze

    Byla vydána nová stabilní verze 8.2 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 152. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    3.9. 23:11 | Nová verze

    Byla vydána nová stabilní verze 4.0 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). S rozhraním přepsaným do Qt. Přehled novinek také na YouTube. Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 2
    3.9. 16:55 | IT novinky

    NVIDIA kupuje Hugging Face za 12,93 miliardy dolarů.

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (4%)
     (20%)
     (29%)
     (7%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2593 hlasů
     Komentářů: 31, poslední 13.8. 00: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: 611×
    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á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.