Hjem Utvikling Hva er en mal? - definisjon fra techopedia

Hva er en mal? - definisjon fra techopedia

Innholdsfortegnelse:

Anonim

Definisjon - Hva betyr mal?

En mal er en C ++ programmeringsfunksjon som tillater funksjons- og klassedrift med generiske typer, som tillater funksjonalitet med forskjellige datatyper uten å skrive om hele kodeblokker for hver type.


Maler er et verdifullt verktøy i C ++, spesielt når det brukes med overbelastning av operatører og flere arv. Maler reduserer innsatsen knyttet til koding av forskjellige datatyper til et enkelt sett med kode og reduserer feilsøkingsinnsatsen.

Techopedia forklarer mal

C ++ inneholder følgende to typer maler som brukes til å implementere generelle konstruksjoner, for eksempel lister, køer, vektorer og stabler:

  • Klassemal: Ligner en vanlig klassedefinisjon, men er forhåndsinnstilt av følgende: mal , etterfulgt av klasseorganerklæringen, inkludert medlemsdata og funksjoner. Funksjonserklæringer og definisjoner av klassemalmalmedlemmer er i samme overskriftsfil. C ++ klassemaler passer best til containerklasser.
  • Funksjonsmal: Implementert gjennom malparametere, som er en spesiell parametertype som brukes til å passere en type som funksjonsargument. Dermed kan funksjonalitet tilpasses mer enn en type eller klasse uten å gjenta hele koden. Formatet for å erklære en funksjonsmal med en typeparameter er enten mal funksjonserklæring eller mal function_declaration. Det er ingen forskjell mellom klassene og typene søkeord.
Maler krever vanligvis typekontroll på kompileringstidspunktet.


Malgenerert kode kan overstyres ved å gi spesielle definisjoner for spesifikke typer, som kalles malspesialisering. En spesiell versjon av en funksjon for et gitt sett med malargumenter er kjent som eksplisitt spesialisering. En klassemal som er spesialisert etter en delmengde av dens parametere er kjent som en delvis malspesialisering. Full spesialisering forekommer f hver parameter er spesialisert. Denne definisjonen ble skrevet i sammenheng med C ++

Hva er en mal? - definisjon fra techopedia