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í
×
    dnes 11:11 | IT novinky

    Byl aktualizován TIOBE Index (Wikipedie). Programovací jazyk Rust se poprvé dostal do první desítky tohoto žebříčku popularity programovacích jazyků. Vede Python následovaný C, C++, Java, C#, …

    Ladislav Hagara | Komentářů: 0
    dnes 01:55 | Nová verze

    Proton (Wikipedie), tj. fork Wine integrovaný ve Steamu umožňující na Linuxu hrát hry určené pouze pro Windows, byl vydán ve verzi 11.0-1. Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled všech podporovaných her na stránkách ProtonDB

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | Zajímavý software

    Byly publikovány zdrojové kódy počítačové hry Unturned. Pro nekomerční účely. V plánu je přelicencování pod MIT. Hra Unturned je postavena nad multiplatformním herním enginem Unity.

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

    První česká družice navržená a sestavená výhradně studenty se dostala na oběžnou dráhu Země. Družice KOSTKA, kterou vyvinul studentský tým YSpace z Vysokého učení technického v Brně (VUT), dnes odstartovala na palubě rakety Falcon 9 společnosti SpaceX v rámci mise Transporter-17 z kalifornské základny Vandenberg Space Force Base.

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

    Po nákresech ovladače Steam Controller a puku společnost Valve na svém GitLabu publikovala projekt Inkterface, tj. podrobný návod (PDF, video v mp4) na sestavení předního panelu s e-papírovým displejem pro Steam Machine pro zobrazování systémových informací. Použity jsou součástky od společnosti Adafruit.

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | Bezpečnostní upozornění

    V jádře Linux byla nalezena a v dubnu letošního roku v upstreamu opravena kritická zranitelnost Bad Epoll aneb CVE-2026-46242. Jedná se o zranitelnost typu "race-condition use-after-free", která běžnému uživateli umožňuje získat práva roota. Na distribucích Linuxu i na Androidu. Dokonce i zevnitř sandboxu prohlížeče Chrome. Chyba byla do Linuxu zavedena v dubnu 2023, tj. Linux 6.4.

    Ladislav Hagara | Komentářů: 0
    6.7. 23:22 | Nová verze

    Byla vydána nová verze 10.4 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Vyzkoušet lze experimentální podporu postkvantového algoritmu mldsa44-ed25519.

    Ladislav Hagara | Komentářů: 0
    6.7. 16:33 | Zajímavý projekt

    Open Printer je otevřená kompaktní tiskárna od Open Tools. Brzy by měla být spuštěna kampaň na její podporu na Crowd Supply. Současně by měly být uvolněny zdrojové kódy. Postavena je na Raspberry Pi Zero W a STM32. Používá inkoustové kazety HP 302.

    Ladislav Hagara | Komentářů: 2
    6.7. 15:11 | Nová verze

    Byla vydána nová verze 3.28.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 8 zranitelností.

    Ladislav Hagara | Komentářů: 0
    4.7. 23:33 | IT novinky

    Čeští policisté společně se svými tureckými kolegy zadrželi 51 lidí, kteří se podle kriminalistů podíleli na provozu podvodného call centra v Istanbulu. Skupina je spojena s 1173 případy podvodů na českých občanech, při kterých vznikla škoda přes 553 milionů korun.

    Ladislav Hagara | Komentářů: 7
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (8%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (25%)
    Celkem 2075 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 442×
    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.