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

    Všem vše nejlepší do nového roku 2026.

    Ladislav Hagara | Komentářů: 0
    dnes 13:33 | Zajímavý software

    Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.60. Vyzkoušet lze online demo.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | Zajímavý článek

    Daniel Stenberg na svém blogu informuje, že po strncpy() byla ze zdrojových kódů curlu odstraněna také všechna volání funkce strcpy(). Funkci strcpy() nahradili vlastní funkcí curlx_strcopy().

    Ladislav Hagara | Komentářů: 1
    dnes 03:00 | Nová verze

    Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 18:55 | IT novinky

    Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Komunita

    Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.

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

    V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.

    Ladislav Hagara | Komentářů: 0
    29.12. 23:11 | IT novinky

    Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.

    🇨🇽 | Komentářů: 4
    29.12. 15:55 | Komunita

    FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.

    🇨🇽 | Komentářů: 7
    29.12. 15:44 | Zajímavý software

    K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.

    🇨🇽 | Komentářů: 1
    Kdo vám letos nadělí dárek?
     (31%)
     (1%)
     (26%)
     (1%)
     (1%)
     (1%)
     (10%)
     (10%)
     (18%)
    Celkem 210 hlasů
     Komentářů: 22, poslední dnes 15:34
    Rozcestník

    Dotaz: C++ template funkcia s predvyplneným parametrom

    9.10.2020 22:25 Naples
    C++ template funkcia s predvyplneným parametrom
    Přečteno: 308×
    Mám generickú funkciu (je súčasťou statickej triedy preto to slovko static na začiatku):
    template<typename ResultType = std::string, typename InputCharType = char>
    static ResultType ToString(const std::vector<InputCharType>& binaries)
    {
    	requires_binaries_ct(InputCharType);
    	requires_base_string(ResultType);
    	return ResultType(binaries.begin(), binaries.end());
    }
    A chcel by som si k nej urobiť skratku s predvypleným prvým parametrom ako std::wstring (namiesto std::string). Ako na to? Intuícia mi hovorí že možno slovom using by sa to dalo nejako predvyplniť? Ale ako konkrétne? Takto to nefunguje.
    using ToWString = ToString<std::wstring>

    Odpovědi

    9.10.2020 23:49 10minuteman
    Rozbalit Rozbalit vše Re: C++ template funkcia s predvyplneným parametrom
    Co treba
    template <typename T>
    using ToWString = ToString<std::wstring>
    
    tu je to popsano lepe.
    10.10.2020 00:05 10minuteman
    Rozbalit Rozbalit vše Re: C++ template funkcia s predvyplneným parametrom
    To jsem napsal ale blbost, melo by to byt takhle:
     
    template <typename T>
    using ToWstring = ToString<std::wstring, T>;
    
    10.10.2020 14:24 Naples
    Rozbalit Rozbalit vše Re: C++ template funkcia s predvyplneným parametrom
    Včera v noci som to skúšal a nefungovalo mi to, asi tam chýba ešte nejaká drobnosť. Skúsim to odladiť metódou pokus omyl, idem si, ale prečítať aj ten odkaz. Dik.
    11.10.2020 14:24 10minuteman
    Rozbalit Rozbalit vše Re: C++ template funkcia s predvyplneným parametrom
    Sorry sorry sorry, ted teprve vidim, ze resis funkci, ne typ.

    Pokud vim, tak castecne specializovat funkce nejde.

    Mozna bys mohl pouzit partial class specialization. Z te funkce bys udelal function object (takovou tu class, co ma pretizeny operator()) a specializoval ten.

    https://www.fluentcpp.com/2017/08/11/how-to-do-partial-template-specialization-in-c/ resi veci, ktere by te mohly zajimat.
    🇨🇽 avatar 10.10.2020 16:37 🇨🇽 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: C++ template funkcia s predvyplneným parametrom

    nóó nebylo by víc lepšejší vzit nato jakoby std::variant hele a hele :O :O

    11.10.2020 11:54 Naples
    Rozbalit Rozbalit vše Re: C++ template funkcia s predvyplneným parametrom
    Neviem idem si to prečítať, resp potom aj vyskúšať dik za tip.
    11.10.2020 15:42 MadCatX | skóre: 28 | blog: dev_urandom
    Rozbalit Rozbalit vše Re: C++ template funkcia s predvyplneným parametrom
    Funkce částečně specializovat nejdou ale pro tvůj případ ti postačí tohle:
    #include <iostream>
    
    // Plně generická funkce
    template <typename T, typename U>
    void f(T &&arg1, U &&arg2) {
            std::wcout << arg1 << " " << arg2 << std::endl;
    }
    
    // Částečně specializovaný wrapper
    template <typename T>
    void f2(T &&arg1, const std::wstring &arg2) {
            f(arg1, arg2);
    }
    
    int main()
    {
            f("abc", 123);
            f2("abc", L"XXX");
            f2("abc", 123);
    
            return 0;
    }
    

    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.