Inhoudsopgave:
Definitie - Wat betekent sjabloon?
Een sjabloon is een C ++ programmeerfunctie die functie- en klassebewerkingen met generieke typen mogelijk maakt, waardoor functionaliteit met verschillende gegevenstypen mogelijk is zonder volledige codeblokken voor elk type te herschrijven.
Sjablonen zijn een waardevol hulpprogramma in C ++, vooral wanneer gebruikt met overbelasting van de operator en meervoudige overerving. Sjablonen verminderen de moeite die gepaard gaat met het coderen van verschillende gegevenstypen tot een enkele set code en verminderen de inspanningen voor het opsporen van fouten.
Techopedia verklaart Template
C ++ biedt de volgende twee soorten sjablonen die worden gebruikt om algemene constructies te implementeren, zoals lijsten, wachtrijen, vectoren en stapels:
- Class-sjabloon: lijkt op een reguliere klassedefinitie, maar wordt voorafgegaan door het volgende: sjabloon
, gevolgd door de verklaring van de klasse-instantie, inclusief gegevens en functies van leden. Declaraties en definities van functiesjablonen voor klassensjablonen staan in hetzelfde header-bestand. C ++ -klasse sjablonen zijn het meest geschikt voor containerklassen. - Functiesjabloon: geïmplementeerd via sjabloonparameters, een speciaal parametertype dat wordt gebruikt om een type door te geven als functieargument. De functionaliteit kan dus worden aangepast aan meer dan één type of klasse zonder de hele code te herhalen. De indeling voor het declareren van een functiesjabloon met een parameter type is beide sjablonen
functie_verklaring of sjabloon function_declaration. Er is geen verschil tussen de trefwoorden klasse en typename.
Door een sjabloon gegenereerde code kan worden opgeheven door speciale definities voor specifieke typen te bieden, ook wel sjabloonspecialisatie genoemd. Een speciale versie van een functie voor een bepaalde set sjabloonargumenten staat bekend als expliciete specialisatie. Een klassensjabloon dat is gespecialiseerd in een subset van zijn parameters, staat bekend als een gedeeltelijke sjabloon-specialisatie. Volledige specialisatie treedt op als elke parameter is gespecialiseerd. Deze definitie is geschreven in de context van C ++