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 03:22 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.20. Díky 227 přispěvatelům.

    Ladislav Hagara | Komentářů: 0
    dnes 03:11 | Komunita

    Simon Long oznámil Raspberry Pi Desktop pro PC a Mac s Intelem postavený na aktualizovaném Debianu 13 Trixie. S klientem Raspberry Pi Connect pro vzdálenou správu. Ke stažení je vedle Raspberry Pi OS pro Raspberry Pi.

    Ladislav Hagara | Komentářů: 0
    včera 21:33 | Zajímavý projekt

    ESP32-C3 adblock přemění lacinou vývojovou desku ESP32‑C3 na samostatný DNS blokovač nejenom reklamních domén, minimalistickou alternativu k populárnímu Pi-hole. ESP32-C3 adblock místo objemných názvů domén ukládá jejich 40-bitové FNV-1a hashe do flash paměti, které pak binárně prohledává, kontrola jedné domény trvá přibližně 10 milisekund. Blocklist pojme až 537 tisíc domén a lze jej spravovat přes webové rozhraní. Projekt zatím

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 0
    včera 21:00 | Zajímavý software

    ArtCraft je sada open source aplikací pro práci s obrázky a videi "inspirovaných" aplikacemi od Adobe. Napsaných v Rustu. Pro MacOS, Windows i Linux. Běží také ve webovém prohlížeči. Aktuálně se jedná o 7 aplikací: PhotoCraft (Photoshop), VectorCraft (Illustrator), FilmCraft (Premiere Pro), LightCraft (Lightroom), PdfCraft (Acrobat), EffectCraft (After Effects) a DesignCraft (InDesign). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 7
    včera 16:33 | Zajímavý software

    Strands Decider 2B je malý open-source model s 2 miliardami parametrů, určený k rychlé klasifikaci vstupů a rozhodování mezi možnostmi, generující odpovědi ve stylu modelu Jev. Strands dosáhl přibližně 72% shody s Jevem na veřejné testovací sadě JevBench (tento benchmark pochopitleně nepředstavuje přímé srovnání s modelem Jev). Zdrojové kódy jsou k dispozici na GitHubu pod licencí Apache-2.0, váhy modelu na Hugging Face.

    ❗Červivý Hřib krade❗ | Komentářů: 3
    včera 16:22 | Upozornění

    Ve věku 90 let zemřela americká softwarová inženýrka Margaret Hamiltonová, která vedla tým, jenž vyvíjel letový software pro program Apollo amerického Národního úřadu pro letectví a vesmír (NASA).

    Ladislav Hagara | Komentářů: 4
    včera 13:33 | Humor

    Japonský Google rozšířil svou kolekci DYI fyzických klávesnic Gboard o klávesnici ve tvaru běžícího pásu. Proč se mají přesouvat ruce po klávesnici, když se mohou přesouvat klávesy k ruce? Pro zájemce je návod na sestavení včetně STL souborů pro 3D tisk a firmware k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 2
    7.10. 23:22 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.25 a Xwayland 24.1.14 řeší 12 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    7.10. 16:33 | Nová verze

    Google Chrome 155 byl prohlášen za stabilní. Přináší podporu JPEG XL (.jxl). Opraveno bylo 247 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 1
    7.10. 16:00 | Komunita

    Konference OpenAlt 2026 hledá přednášející. Přihlásit přednášky lze do neděle 11. října. Konference proběhne o víkendu 7. a 8. listopadu na půdě Fakulty informačních technologií VUT v Brně. Témata konference jsou: Otevřený a svobodný software, IoT a Hnutí tvůrců, Vzdělávání, Bezpečnost a soukromí, Otevřená společnost, komunity a data, OpenMobility a další.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2817 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Dědění od std::vector

    31.3.2011 22:04 qiRzT | skóre: 14 | blog: U_Marvina
    Dědění od std::vector
    Přečteno: 626×
    Zdravím, na mnoha místech na webu jsem našel, že to není dobrý nápad, ale vzhledem k tomu, že to potřebuju jen proto, abych prozkoumal, jak se chová jedna knihovna, tak mi nějakí ta prasárna nevadí. Zkoušel jsem následující:
    template <class T> class mvect : public std::vector<T>
    {
     public:
      const std::vector<T>::const_iterator begin() const
      {
       return std::vector<T>::begin();
      }
    };
    
    Není mi jasné, proč se od překladače dozvím, že:
    vect.h:23: error: ISO C++ forbids declaration of 'const_iterator' with no type
    vect.h:23: error: expected ';' before 'begin'
    vect.h:29: error: expected `;' before '}' token
    
    const_iterator je přeci součást vectoru, ne?

    Uměl by mi to, prosím, někdo vysvětlit?

    Díky.
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...

    Řešení dotazu:


    Odpovědi

    Luboš Doležel (Doli) avatar 31.3.2011 22:23 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Dědění od std::vector
    Aniž bych si myslel, že je to ten problém, tak ten první const je tam navíc. const_iterator je sám o sobě konstantní.
    1.4.2011 13:10 Jirka P
    Rozbalit Rozbalit vše Re: Dědění od std::vector
    To je nesmysl. Mezi "ptr to const" (aka const_iterator) a "const ptr to const" je rozdíl (ačkoli nechci předjímat, který z významů měl básník na mysli).
    1.4.2011 13:28 Sten
    Rozbalit Rozbalit vše Re: Dědění od std::vector
    const_iterator je třída a zde se předává hodnotou (tj. jako rvalue), takže to const tam je skutečně zbytečné. Když zapnete „-Wextra“, tak vás na to GCC upozorní.
    1.4.2011 13:52 Jirka P
    Rozbalit Rozbalit vše Re: Dědění od std::vector
    Jestli je tam const potřebné si netroufám tvrdit, sám nejsem zastáncem návratových typů s const, ale existují lidé, kteří je propagují a mají pro to své důvody. Každopádně má vliv na okolní program, takže zbytečné tam asi nebude. Dalo by se to formulovat jako hádanka (najděte dva programy, které se liší jen const-kvalifikací návratového typu jedné funkce a dávají různé výsledky, příp. jen jeden lze přeložit), ale to by bylo moc lehké.
    1.4.2011 14:36 Sten
    Rozbalit Rozbalit vše Re: Dědění od std::vector
    U referencí a pointerů má const smysl, protože předáváte lvalue (u pointerů pouze pro cílový typ, samotný poitner je rvalue), u předání hodnotou (rvalue; to je i ten const_iterator) ne. Tolik ISO standard. Klidně si to můžete vyzkoušet, že následující příklad vypíše stejnou chybu u getTest i getTestConst (volání protected konstruktoru), i když by podle vás měl první projít:
    class Test
    {
    public:
        Test()
        {}
    
        Test(Test&)
        {}
    
    protected:
        Test(const Test&);
    }
    
    
    Test getTest()
    {
        return Test();
    }
    
    
    const Test getTestConst()
    {
        return Test();
    }
    
    
    void test()
    {
        Test t(getTest());
        Test t2(getTestConst());
    }
    Mimochodem C++2011 má taky rvalue jenom bez const (Test&&).
    1.4.2011 15:01 Jirka P
    Rozbalit Rozbalit vše Re: Dědění od std::vector
    Ten váš příklad nedokazuje nic jiného, než že rvalue nelze použít tam, kde je očekávána lvalue, o const to neříká nic.

    Jinak pokud se oháníte ISO standardem, měl byste připojit citaci, kde konkrétně zapovídá const u rvalue, případně kde vůbec mluví o smyslu čehosi. Dále si laskavě vyřešte hádanku a nevkládejte jiným do úst, co neřekli.
    Řešení 1× (qiRzT (tazatel))
    31.3.2011 22:51 Sten
    Rozbalit Rozbalit vše Re: Dědění od std::vector
    Prasárna to není, akorát tam potom chybně funguje použití předka místo potomka (včetně nevolání destruktoru potomka), takže na to musíte dávat pozor a řekl bych, že pro váš účel to fungovat nebude :-)

    Jinak vám tam chybí typename, protože jde o typ definovaný v šabloně:
    const typename std::vector<T>::const_iterator begin() const
    1.4.2011 09:39 qiRzT | skóre: 14 | blog: U_Marvina
    Rozbalit Rozbalit vše Re: Dědění od std::vector
    Díky :-) Pro můj účel to funguje, dělá to přesně to, co jsem chtěl - tj. můžu snadno sledovat, kdy se ta metoda volá.
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...

    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.