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 10:22 | Pozvánky

    Byl zveřejněn průběžně aktualizovaný program konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Konference proběhne o víkendu 7. a 8. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.

    Ladislav Hagara | Komentářů: 0
    dnes 08:08 | Zajímavý článek
    Nepálský ISP WorldLink Communications popisuje sedm let zavádění IPv6. Dnes provozuje přes milion IPoE přípojek, všechny s podporou IPv6, a přibližně 70 % provozu přenáší přes IPv6.… více »
    vencour | Komentářů: 1
    dnes 02:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.2 oznámil Linus Torvalds vydání Linuxu 7.3. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.

    Ladislav Hagara | Komentářů: 0
    včera 23:39 | Bezpečnostní upozornění
    Zjištěna zranitelnost v kernelu projevující se při virtualizaci. Nejde tedy o chybu samotného KVM ani konkrétního poskytovatele cloudu, ale o problém v linuxovém zpracování IPv4 paketů, který se může týkat různých virtualizačních a sandboxových prostředí. Více např. na hacker.news - Critical PwnEscape Linux Kernel Vulnerability Lets Guest VMs Read Host Memory. Aktualizace jsou k dispozici.
    vencour | Komentářů: 0
    včera 23:38 | Bezpečnostní upozornění
    Malware napsaný v Go se šíří mezi linuxovými systémy, pokouší se získávat SSH klíče a využívá kompromitované stroje pro těžbu kryptoměn. Autor použil FakeNet-NG a Wireshark k analýze síťové komunikace. Popsal také indikátory kompromitace a možnosti obrany. Zajímavé je propojení SSH bezpečnosti, analýzy síťového provozu a detekce prostřednictvím SIEM. více
    vencour | Komentářů: 0
    16.10. 15:55 | Nová verze

    Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 9.00. S podporou architektury AArch64 (ARM64).

    Ladislav Hagara | Komentářů: 0
    16.10. 03:44 | IT novinky

    Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.

    Ladislav Hagara | Komentářů: 17
    16.10. 03:33 | Pozvánky

    O víkendu 17. a 18. října lze na brněnském výstavišti navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, festival inovací, kreativity a kutilství, a GameDev Connect, akci určenou pro všechny současné a hlavně budoucí herní vývojáře.

    Ladislav Hagara | Komentářů: 0
    15.10. 20:33 | Nová verze

    Canonical vydal (email) Ubuntu 26.10 Stonking Stingray. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2027.

    Ladislav Hagara | Komentářů: 1
    15.10. 16:44 | IT novinky

    České Radiokomunikace (CRA) ve čtvrtek odstřelily rozhlasový vysílač Liblice B, dosud nejvyšší stavbu v Česku. O demolici dvou 355 metrů vysokých stožárů rozhodly z důvodu jejich nevyužívání, už v úterý přitom zhasly a demontovaly jejich osvětlení.

    Ladislav Hagara | Komentářů: 36
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2868 hlasů
     Komentářů: 32, poslední 11.10. 17:02
    Rozcestník

    Dotaz: Ako odtestovať generický parameter na pole ľubovolnej

    11.10.2020 12:24 Naples
    Ako odtestovať generický parameter na pole ľubovolnej
    Přečteno: 372×
    Ako odtestovať generický parameter na pole ľubovolnej velkosti určitého typu?

    Včera som hľadal spôsob ako odtestovať či je generický parameter typu pole.

    problém je že funkcia is_same_v testuje pole len s presnou velkosťou.

    to znamená že ak mám pole:
    int[5]

    tak musím testovať
    is_same_v<T, int[5]>

    ale čo ak dopredu netuším veľkosť pola a potrebujem odtestovať či premenná má pole nejakého typu, ľubovolnej velkosti?

    testujem to zatiaľ takto:
    if constexpr (std::is_array_v<InputType> && std::is_same_v<InputType, ArrayType[std::extent_v<InputType>]>)
    {
        //niečo
    }
    else
    {
        static_assert(false, "Chyba, nesprávny typ")
    }
    Funguje to akurát som z toho chcel urobiť nejaký znovupoužiteľný kus kódu (trait, makro, alebo hocičo iné) a to už bolo nad moje sily. Celá tá template časť C++ je deklaratívna, pripomína mi trošku funkcionálne programovanie a vyzerá to dosť zaujímavo.
    1. Vedeli by ste mi poradiť ako si z tej podmienky urobiť trait?
    2. A tiež poradiť nejakú kvalitnú knihu (alebo iný zroj informácií kludne aj školenie) o šablónach v C++? Ja už mám doma 6 kníh o C++, niektoré sú riadne hrubé bichle, ale v žiadnej som nenašiel dostatočne obšírne vysvetlenú problematika šablón. Kniha môže byť kludne aj v AJ
    Ďakujem.

    Řešení dotazu:


    Odpovědi

    11.10.2020 13:25 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: Ako odtestovať generický parameter na pole ľubovolnej
    Vo svete C by to tak mozno bolo:

    Nechces vela? Zakladne typy su pre nieco zakladne. Mozno by bolo dobre sa naucit C, pripadne ASM a ako funguje hardwer. Ked sa chces dobre. Ak ultra, tak elektroniku. Ono. Kazda technologia nieco dokaze, tak dalsia sa to snazi urobit, lahsie atd. A kazda technika ma svoje limity.

    struct { void *data; size_t bytes; int type; } data_t;
    debian.plus@protonmail.com
    11.10.2020 14:03 10minuteman
    Rozbalit Rozbalit vše Re: Ako odtestovať generický parameter na pole ľubovolnej
    1. mozna by ti pomohl enable_if ? Popravde nevim. Co te tu sleduju, prijde mi, ze s temi traity vytvaris nejake tezke voodoo. Proc nenechas kontrolu na prekladaci?

    2. Tahle je nejlepsi.
    ❗Červivý Hřib krade❗ avatar 11.10.2020 15:55 ❗Červivý Hřib krade❗ | skóre: 43 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Ako odtestovať generický parameter na pole ľubovolnej

    noa nestačilo by ti jakoby tam tu velikost pole prostě dycky zistit hele?? :O :O

    template <typename T, size_t n> constexpr size_t array_size(const T (&)[n]) { return n; }
    

    dyžtak se neuraz ale mam taky takovej pocit že se snažíš to cpp přivohnout ze silně typovýho jazyka na slabě typovej s timže tu kontrolu typů chceš asi nějak řešit sám :O ;D

    Pamatujete, jak Medvěděv chtěl hodit atomovku na Berlín? Tak teďko by se to hele šiklo 💥☢️🤪

    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.