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 04:33 | Bezpečnostní upozornění

    Byla vydána verze 0.81 telnet a ssh klienta PuTTY. Opravena je kritická bezpečnostní chyba CVE-2024-31497 obsažena ve verzích 0.68 až 0.80. Používáte-li klíč ECDSA NIST P521 a použili jste jej v PuTTY nebo Pageantu, považujte jej za kompromitovaný.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | Komunita

    Hra MineClone2 postavena nad voxelovým herním enginem Minetest byla přejmenována na VoxeLibre.

    Ladislav Hagara | Komentářů: 0
    včera 19:11 | IT novinky

    Společnosti Avast Software s.r.o. byla pravomocně uložena pokuta ve výši 351 milionů Kč. Tu uložil Úřad pro ochranu osobních údajů za neoprávněné zpracování osobních údajů uživatelů jejího antivirového programu Avast a jeho rozšíření internetových prohlížečů (Browser Extensions), k čemuž docházelo prokazatelně po část roku 2019.

    … více »
    Ladislav Hagara | Komentářů: 2
    včera 15:55 | Zajímavý článek

    Bylo vydáno do češtiny přeložené číslo 714 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Pozvánky

    V sobotu 20. dubna lze navštívit Maker Faire Jihlava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

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

    Knihovna pro potlačení šumu RNNoise byla vydána ve verzi 0.2. Kvalitu potlačení lze vyzkoušet na webovém demu.

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

    FRRouting (FRR) (Wikipedie), tj. softwarová sada pro směrování síťové komunikace, fork Quagga, byl vydán ve verzi 10.0.

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

    Julian Andres Klode vydal APT (Advanced Packaging Tool) ve verzích 2.9.0 a 2.9.1. Jedná se o vývojové verze nové větve APT 3.0. Vylepšuje se uživatelské rozhraní. Přidány byly barvičky. Aktuální náhledy a vývoj lze sledovat na Mastodonu.

    Ladislav Hagara | Komentářů: 3
    14.4. 17:00 | Komunita

    Miguel de Icaza se na svém blogu rozepsal o vložitelných herních enginech. Kdysi slibné projekty UrhoSharp a Urho3D jsou již mrtvé. Zůstává Godot. Aktuálně vývojáři řeší Pull request #90510 s návrhem knihovny LibGodot.

    Ladislav Hagara | Komentářů: 0
    14.4. 03:44 | Nová verze

    Byla vydána nová verze 5.0 linuxové distribuce Lakka, jež umožňuje transformovat podporované počítače v herní konzole. Nejnovější Lakka přichází s RetroArchem 1.17.0.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (60%)
     (13%)
     (2%)
     (24%)
    Celkem 411 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: C++ jak vratit referenci

    1.11.2012 17:16 Radim Kolář | skóre: 11
    C++ jak vratit referenci
    Přečteno: 340×
    API po mne vyzaduje aby funkce bez argumentu vracela referenci. Jak mam tuhle referenci vyrobit aby neukazovala na lokalni promenou.

    Jak se tohle resi? Udela se new, coz vrati pointer a ten se nejakou magii pretypuje na referenci a vrati? Zatim jsem nasel priklady co vraceli referenci jen kdyz meli argumenty predavane referenci, tohle pouziti je mi jasne.

    Řešení dotazu:


    Odpovědi

    1.11.2012 19:10 Delaunay | skóre: 17 | blog:
    Rozbalit Rozbalit vše Re: C++ jak vratit referenci
    Tady je kus té magie ;)
    class MyType { ... }
    
    MyType& return_ref()
    {
        return *(new MyType());
    }
    
    MyType& ref = return_ref();
    ...
    delete &ref;
    
    1.11.2012 19:43 Radim Kolář | skóre: 11
    Rozbalit Rozbalit vše Re: C++ jak vratit referenci
    tohle ale nejde prelozit:
    ProcResourceValues& ResourceCalculator::emptyProcResourceValues() {
            return *(new ProcResourceValues(0,0,0));
    }
    
    error: invalid initialization of non-const reference of type 'ProcResourceValues&' from a temporary of type 'ProcResourceValues*'
    Řešení 1× (Radim Kolář (tazatel))
    1.11.2012 20:30 l4m4
    Rozbalit Rozbalit vše Re: C++ jak vratit referenci
    Předně tady řešíš metodu, ne funkci, tudíž nevzniká ani počáteční problém: metoda může vrátit referenci na data instance, nejen na něco v metodě vytvořeného. Ale funguje obojí:
    class ProcResourceValues {
        public:
        ProcResourceValues(int x, int y, int z) { }
    };
    
    class ResourceCalculator {
        public:
        ProcResourceValues data;
        ProcResourceValues& emptyProcResourceValues();
        ProcResourceValues& emptyProcResourceValuesIHatePascalMixedCase();
    };
    
    ProcResourceValues& ResourceCalculator::emptyProcResourceValues() {
        return *(new ProcResourceValues(0,0,0));
    }
    
    ProcResourceValues& ResourceCalculator::emptyProcResourceValuesIHatePascalMixedCase() {
        return data;
    }
    
    1.11.2012 23:04 Radim Kolář | skóre: 11
    Rozbalit Rozbalit vše Re: C++ jak vratit referenci
    mas pravdu. funguje to takhle, ta chyba byla z jiny radky.

    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.