Malliparametripaketti C ++ -ohjelmointikielessä on mallifunktion tai -luokan parametri , joka koostuu mielivaltaisesta määrästä heterogeenisiä elementtejä. Se on lyhennetty merkintä heterogeeniselle joukolle variadic-mallipohjaisia argumentteja , jotka on määritelty ellipsillä [1] [2] . ...
Tämä kieliominaisuus on otettu käyttöön syntaksissa C++11 -standardin jälkeen [3] .
Syntaksi muunnelmamallin ilmoittamiselle tupleparametripaketilla on Values:
malli < typename ... arvot > luokan monikko ;Malliparametripaketin elementit voivat olla tietotyyppejä (tyyppiparametrit), ei-tyyppiparametreja (ei-tyyppiparametreja) ja mallipohjaparametreja [4] .
Kun optiopaketti määrittelee elementtinsä, se laajenee nollan tai useamman argumentin sarjaksi [5] .
Optiopaketin käyttäytyminen ja sen merkitys kääntäjälle vastaa normaaleja valintoja, mutta sitä käsitellään minkä tahansa määrän elementtien kokoelmana. Parametripaketit, jotka eivät ole yleisiä tyyppejä, voivat edustaa minkä tahansa määrän niitä vastaavia argumentteja. Ensisijaisilla malliluokilla, aliasmalleilla ja muuttujamalleilla saa olla vain yksi malliparametripaketti. Jos se on läsnä, sen sijainnin argumenttiluettelossa on oltava viimeinen. Toimintomalleissa rajoitukset eivät ole niin tiukkoja: useat paketit ovat sallittuja, niiden mielivaltainen järjestely on sallittu, kunhan jokainen paketin jälkeinen malliargumentti voidaan päätellä tai niillä on oletusarvo [1] .
Mallin parametripakettiluettelon elementtien lukumäärän määrittämiseen on tarkoitettu operaattori sizeof..., joka otettiin käyttöön C++11 -kielistandardilla [6] . C++17 -standardista alkaen on mahdollista tiivistää parametripaketti - minkä tahansa binäärioperaation massasovellus kaikkiin sen elementteihin [7] .