Sektion 2. Kapitel 3
single
Ikke-Type Skabelonparametre
Stryg for at vise menuen
Ved definition af en skabelon kan vi ikke kun angive typer, men også videregive værdier til disse typer. Dette betyder, at vi kan oprette skabeloner, der opfører sig forskelligt baseret på de angivne værdier, men vi vender tilbage til dette lidt senere.
main.cpp
123456789101112#include <iostream> // Non-type parameter means we won't use typename // Instead you can use an actual type for it template<int N> void PrintValue() { std::cout << N << std::endl; } int main() { // Call the template function with a literal integer PrintValue<5>(); // 5 }
Den primære fordel ved denne tilgang er, at alle beregninger udføres under kompilering, hvilket muliggør brugen i metaprogrammering.
main.cpp
1234567891011#include <iostream> // Template function to calculate the square of a non-type parameter I template<int I> int Square() { return I * I; } // Return the square of I int main() { // The result of Square<5>() is computed at compile time int b = Square<5>(); // b will be initialized to 25 }
Når du kører det kompilerede program, vil værdien af b allerede være 25. Beregningen udføres under kompileringen, hvilket resulterer i nul operationer under kørsel.
Var alt klart?
Tak for dine kommentarer!
Sektion 2. Kapitel 3
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat