Video: Writing 2D Games in C using SDL by Thomas Lively 2025
En funksjonsmal lar deg skrive noe som ser ut som en funksjon, men bruker en eller flere typeholdere som C ++ konverterer til en sann type på kompileringstidspunktet. Du bør huske noen ting når du bruker maler.
-
For det første genereres ingen kode for en mal. (Koden genereres etter at mal er konvertert til en konkret klasse eller funksjon.) Dette innebærer at en. Cpp kildefil er nesten
Hele klassemalsdefinisjonen, inkludert alle medlemsfunksjonene, finnes vanligvis i en inklusiv fil slik at den kan være tilgjengelig for kompilatoren til å utvide.
-
For det andre bruker en klassemal ikke minne. Derfor er det ingen straff for å opprette klassemaler hvis de aldri blir instansert. På den annen side bruker en klassemaler minne hver gang den er instansert. kode for Array bruker minne selv om Array allerede eksisterer.
-
Endelig kan en klassemal ikke kompileres og kontrolleres for feil før den blir omgjort til en ekte klasse. Dermed kan et program som refererer til klassemalen Array kompilere, selv om Array inneholder åpenbare syntaksfeil. Feilene vises ikke før en klasse som Array eller Array er opprettet.
Opprette en funksjon fra en mal kalles instantiating malen.
