Tartalomjegyzék:
Meghatározás - Mit jelent a sablon?
A sablon egy C ++ programozási szolgáltatás, amely lehetővé teszi a funkció- és osztályműveleteket általános típusokkal, amely lehetővé teszi a különféle adattípusokkal való funkcionalitást anélkül, hogy az egyes típusokhoz teljes kódblokkokat kellene átírni.
A sablonok értékes segédprogramot jelentenek a C ++ programban, különösen ha operátor túlterheléssel és többszörös örökléssel használják őket. A sablonok csökkentik a különböző adattípusok egyetlen kódkészletre történő kódolásával járó erőfeszítéseket, és csökkentik a hibakeresési erőfeszítéseket.
A Techopedia magyarázza a sablont
A C ++ a következő két típusú sablont biztosítja az általános konstrukciók - például listák, sorok, vektorok és halmok - megvalósításához:
- Osztálysablon: A normál osztálydefinícióhoz hasonlít, de a következő előtaggal rendelkezik: sablon
, amelyet az osztálytest nyilatkozata követ, beleértve a tagok adatait és funkcióit. Az osztálysablon tag funkciói deklarációk és meghatározások ugyanabban a fejléc fájlban vannak. A C ++ osztálysablonok a legalkalmasabbak a konténerosztályokhoz. - Funkciósablon: Sablonparamétereken keresztül valósul meg, amely egy speciális paramétertípus, amely egy típus függvény argumentumként történő továbbításához szolgál. Így a funkcionalitás egynél több típushoz vagy osztályhoz adaptálható anélkül, hogy a teljes kódot megismételnénk. A függvénysablon típus-paraméterrel történő deklarálásának formátuma vagy sablon
function_deklaration vagy sablon function_declaration. Nincs különbség az osztály és a típusnév kulcsszavak között.
A sablon által generált kód felülbírálható speciális meghatározások megadásával az egyes típusokhoz, amelyet sablon-specializációnak is nevezünk. Egy adott sablon argumentumkészlet függvényének speciális verzióját explicit specializációnak nevezzük. A paraméterek egy részhalmazára specializálódott osztálysablont részleges sablon-specializációnak nevezzük. A teljes specializáció akkor fordul elő, ha minden paraméter speciális. Ezt a meghatározást a C ++ összefüggésben írták meg
