Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Ikke-Type Skabelonparametre | Anvendelse af Templates
C++ Templates
Sektion 2. Kapitel 3
single

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

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

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.

question mark

Hvad er en vigtig fordel ved at bruge ikke-typede skabelonparametre i C++ skabeloner?

Vælg det korrekte svar

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt