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í
×
    včera 14:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.

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

    O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).

    Ladislav Hagara | Komentářů: 2
    včera 04:22 | Nová verze

    Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    19.5. 21:00 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    19.5. 19:00 | Nová verze

    Canonical vydal Ubuntu Core 26. Vychází z Ubuntu 26.04 LTS a podporováno bude 15 let. Ubuntu Core je minimální neměnný operační systém určený pro vestavěné systémy.

    Ladislav Hagara | Komentářů: 0
    19.5. 16:22 | Nová verze

    Bylo vydáno OpenBSD 7.9. Po dlouhé době opět se songem: Diamond in the Rough.

    Ladislav Hagara | Komentářů: 0
    19.5. 16:00 | Nová verze

    Byl vydán Mozilla Firefox 151.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 151 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    19.5. 12:22 | IT novinky

    Elon Musk prohrál soudní spor se společností OpenAI, která se podle jeho žaloby odchýlila od původně uváděného cíle vyvíjet umělou inteligenci (AI) ku prospěchu lidstva. Porota včera po necelých dvou hodinách dospěla k jednomyslnému závěru, že Musk žalobu podal příliš pozdě. Musk byl jedním ze spoluzakladatelů společnosti OpenAI, která vznikla v roce 2015 a vyvinula populární chatovací systém ChatGPT. V roce 2018 na svůj post ve vedení

    … více »
    Ladislav Hagara | Komentářů: 0
    19.5. 10:22 | Nová verze

    Byla vydána nová verze 10.4 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Opraveny jsou zranitelnosti Copy Fail a Dirty Frag. Přibyl nový obraz pro Orange Pi 5B.

    Ladislav Hagara | Komentářů: 0
    19.5. 07:44 | Zajímavý software

    Pokud je zranitelnost Linuxu v nepoužívaném jaderném modulu, lze ji jednoduše vyřešit zakázáním automatického načítání tohoto konkrétního zranitelného modulu. Projekt ModuleJail si klade za cíl zvýšit bezpečnost Linuxu zakázáním automatického načítání všech nepoužívaných jaderných modulů. Jedná se o skript, který dá všechny nepoužívané jaderné moduly na blacklist (/etc/modprobe.d/modulejail-blacklist.conf).

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (26%)
    Celkem 1672 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 290×
    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.
    MakeIranBombedAgain❗ avatar 11.10.2020 15:55 MakeIranBombedAgain❗ | skóre: 42 | 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

    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.