abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:22 | IT novinky

    VASA-1, výzkumný projekt Microsoftu. Na vstupu stačí jediná fotka a zvukový záznam. Na výstupu je dokonalá mluvící nebo zpívající hlava. Prý si technologii nechá jenom pro sebe. Žádné demo, API nebo placená služba. Zatím.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

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

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    včera 17:22 | Nová verze

    Byla vydána nová verze 0.38.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 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 13
    včera 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    včera 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 10
    včera 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    17.4. 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    KDE Plasma 6
     (68%)
     (10%)
     (2%)
     (20%)
    Celkem 563 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    17.8.2019 23:32 MadCatX | skóre: 28 | blog: dev_urandom
    Rozbalit Rozbalit vše Re: Návrhový vzor pro obalování C knihoven v C++
    S move konstruktory a referencemi jde IMHO vyřešit většina případů.

    Když tu instanci budu vracet jako návratovou hodnotu, tak to bude OK, ale když budu muset někde použít std::move() tak mi v té proměnné zůstane stará instance v nějakém divném/nepoužitelném stavu, přitom na ní ale půjdou volat metody (akorát to asi za běhu bude padat nebo se chovat divně), ne?

    Nezůstane. Move se používá v případě, že daný objekt v nějakém kontextu už nepotřebuješ ale zároveň je potřeba, aby dál existoval někde jinde. Provádět move na proměnných, ke kterým by mohlo chtít něco později přistupovat ze stejného kontextu je samozřejmě špatně.

    To už mi přijde lepší to počítání referencí.

    Refcounting řeší trochu jiný problém. Move ti umožňuje vytvořit právě jednu instanci nějaké třídy a tu různě přesouvat, aniž by se kdy zkopírovala, zničila a vytvořila znovu atp.
    V případě, kdy je nutné sdílet nějaký zdroj z více míst lze použít std::shared_ptr.

    Ano, ale obalovat všechno do std::shared_ptr mi přijde ošklivé – v signaturách metod to působí jako bordel a znepřehledňuje to kód. Elegantnější by mi přišlo, kdyby ten chytrý ukazatel byl schovaný uvnitř toho HIDDevice.

    Tím si tam ale nacpeš další úroveň indirekce, která je v principu zbytečná.

    Ještě mě napadá tohle:

    using HIDDevice_p = std::shared_ptr<HIDDevice>;
    
    HIDDevice_p x(new HIDDevice(0,0,0));
    x->getProductName();

    To už vypadá trochu líp, když tam nestraší všude std::shared_ptr.

    BTW: existuje nějaká konvence pro pojmenování takových typů? (jako jsem tady použil to _p)

    Od C++11 dále existuje auto, které je možné psát místo konkrétního jména typu. Nelze použít úplně všude ale velkou část explicitního vypisování typů ušetří. Vytvořit si alias na nějaké často používaný typy, jak navrhuješ, je samozřejmě dobrý nápad.

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.