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

    V aktuálním přehledu vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) bylo oznámeno vydání nové verze 0.4.0. Výrazně se zlepšilo vykreslování stránek jako lichess.org, Zulip nebo Speedtest.

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

    Vládní CERT upozorňuje (𝕏) na kritické zranitelnosti v produktech VMware: CVE-2026-59309, CVE-2026-59310 a CVE-2026-47876. Zranitelnosti v VMware vCenter umožňují vzdálenému útočníkovi se síťovým přístupem obejít autentizaci a získat neoprávněný přístup k vCenter, případně zneužít directory traversal ke spuštění libovolného kódu na vCenter.

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

    Společnost Coinkite upozorňuje na bezpečnostní chybu svých hardwarových kryptopeněženek Coldcard. Jedná se o kritickou chybu v generování náhodných čísel (RNG). Místo hardwarového generátoru náhodných čísel (TRNG) byl omylem používán softwarový fallback (PRNG).

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

    Představena byla nová linuxová distribuce Shadowfetch Linux. Na rozdíl od mnoha nováčků, které nabízejí převážně jiné téma a výběr softwaru, tato distribuce založená na Debianu Testing s desktopovým prostředím KDE Plasma 6.6, klade lokálně běžící umělou inteligenci do centra svého desktopového zážitku.

    Pinhead | Komentářů: 0
    30.7. 17:22 | Zajímavý projekt

    Max Leiter v roce 2019 zkusil zprovoznit X server na iPadu (iOS). Nyní se k tématu vrátil a s pomocí LLM a balíčkovacích nástrojů Procursus rozběhl desktop s X11 i Waylandem. Jeho balíčky jsou dostupné v repozitáři xiOS.

    |🇵🇸 | Komentářů: 17
    30.7. 13:33 | IT novinky

    Společnost Google Cloud dnes oznámila, že její infrastruktura a služby byly oficiálně zařazeny do Katalogu cloud computingu vedeného Digitální a informační agenturou (DIA). Tato certifikace potvrzuje, že infrastruktura a služby Google Cloud splňují přísné bezpečnostní a regulační požadavky České republiky pro provoz cloudových služeb ve veřejném sektoru.

    Ladislav Hagara | Komentářů: 6
    30.7. 13:11 | IT novinky

    Vůbec poprvé v historii se stát při testování digitálních služeb obrací na širokou veřejnost. Digitální a informační agentura (DIA) a Ministerstvo vnitra zvou občany k zapojení do zátěžového testu eDokladů, které od loňského podzimu prošly optimalizací aplikace a posílením infrastruktury. Test proběhne 13. srpna ve 13:00 a pro jeho úspěch bude potřeba zapojení několika desítek tisíc občanů. Zapojení do testu je zcela dobrovolné a úkol

    … více »
    Ladislav Hagara | Komentářů: 40
    30.7. 13:00 | Nová verze

    FireDragon je webový prohlížeč, doposud založený na Floorpu, jednom z forků Firefoxu s větším důrazem na ochranu soukromí a přizpůsobení uživatelského rozhraní. Spravuje ho člen komunity distribuce Garuda Linux. Nové vydání verze 13 opouští Floorp a přechází přímo na Firefox s patchi z LibreWolfu a vlastními úpravami. Dostupný je také na Flathubu.

    |🇵🇸 | Komentářů: 0
    30.7. 05:44 | Zajímavý software

    picogame (GitHub) je malý 2D herní engine pro mikrokontroléry jako RP2040, čip uvnitř kapesní konzole Picopad. Hru napíšeš v Pythonu a vyzkoušíš ji v prohlížeči nebo desktopovém simulátoru. Až bude hotová, zkopíruješ ji na podporovanou desku. Na začátku nepotřebuješ C, sestavení firmwaru ani hardware.

    Ladislav Hagara | Komentářů: 1
    29.7. 19:22 | Nová verze

    Multiplatformní prohlížeč elektronických knih KOReader byl vydán ve verzi 2026.07 "Sailing Walrus". U PDF souborů s SMask lze vyčistit pozadí. Přibyla podpora Kobo v5 nebo základní podpora OPDS 2.0.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (18%)
     (30%)
     (5%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2290 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 423×
    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á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.