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 05:33 | Zajímavý článek

    Sny o designu GNOME Shellu, článek s náhledy a videi, představuje dlouhodobou vizi týmu GNOME pro vylepšení uživatelského rozhraní GNOME Shellu. Zatímco nedávné verze přinášely spíše drobné úpravy, designéři nyní plánují zásadnější změny.

    Ladislav Hagara | Komentářů: 6
    dnes 05:22 | Nová verze

    Byla vydána nová verze 10.5 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Nově vyžaduje podporu ECC (Elliptic Curve Cryptography) v libcrypto, včetně křivky NISTP521.

    Ladislav Hagara | Komentářů: 0
    dnes 05:11 | Nová verze

    Byla vydána nová verze 10.6 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. S novými obrazy pro Orange Pi 4 Pro, Orange Pi Zero 3W a Odroid M1/M1S/M2. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Námořní drony používané elitními jednotkami britského královského námořnictva tajně posílaly údaje do Číny. Stroje vybavené čínskými komponenty měly být využívány pro vojenské operace na Blízkém východě. Kamery na dálkově řízených průzkumných člunech K3 Scout byly vybavené součástkami, které bez vědomí britského námořnictva odesílaly informace do spojeného zařízení v Číně. Britské námořní síly využívaly flotilu námořních dronů

    … více »
    Ladislav Hagara | Komentářů: 3
    včera 13:33 | IT novinky

    Alza.cz nabízí herní AlzaPC s předinstalovaným Linuxem (YouTube), konkrétně s linuxovou distribucí Bazzite (Wikipedie).

    Ladislav Hagara | Komentářů: 7
    včera 04:55 | Nová verze

    Squeak (Wikipedie), open source implementace programovacího jazyka a prostředí Smalltalk, byl vydán ve verzi 6.1. Přehled novinek v poznámkách k vydání.

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

    V Linuxu v KVM byla nalezena a v upstreamu již byla opravena kritická zranitelnost Zapscape aneb CVE-2026-64561. Root na hostovaném počítači (virtuální stroj) může obejít izolaci a získat plnou kontrolu nad hostitelským systémem (DoS útok nebo vzdálené spuštění kódu s právy roota). Na obou hlavních architekturách – Intel i AMD. Zranitelnost v Linuxu existovala 6 let (od července 2020 do července 2026).

    Ladislav Hagara | Komentářů: 0
    10.8. 19:00 | IT novinky

    Počítačová hra Knytt napsaná v Multimedia Fusion 2 byla vydána před 20 lety. Při této příležitosti byl dnes představen moderní port (YouTube) této plošinovky na současné operační systémy pod názvem Knytt Classic. Je zdarma k dispozici na Steamu a GOG.com.

    Ladislav Hagara | Komentářů: 0
    10.8. 16:00 | IT novinky

    Americká technologická společnost Meta Platforms představila nový model umělé inteligence (AI) Muse Glimmer. Model je menší než přední modely AI od konkurence a má běžet přímo na počítačích uživatelů. Meta model zpřístupní jako open source, tedy otevřený software. Nový model je navržen tak, aby zvládal takzvané agentní úkoly na počítačích se spotřebitelskou grafickou kartou. Klade si tak za cíl uspokojit poptávku po systémech AI, které běží přímo na zařízeních uživatelů.

    Ladislav Hagara | Komentářů: 8
    10.8. 12:11 | Pozvánky

    V pátek 28. srpna 2026 se v pražském Karlíně uskuteční již osmý Mobilní Hackday. Akce začne v 10:00 a potrvá až do večera. Setkání proběhne v prostorách SUSE Linux, s.r.o. na adrese Křižíkova 148/34, Praha 8 – Karlín. Nejbližší zastávkou je Křižíkova, kam se lze dostat tramvají i metrem. Na programu budou například novinky z posledních měsíců, možnosti, jak si zjednodušit práci s LLM/AI, a také nová linuxová distribuce BengalOS, včetně … více »

    David Heidelberg | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2370 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: 480×
    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.