single
Niet-type Templateparameters
Veeg om het menu te tonen
Bij het definiëren van een template kunnen we niet alleen types specificeren, maar ook waarden aan die types doorgeven. Dit betekent dat we templates kunnen maken die verschillend gedrag vertonen op basis van de opgegeven waarden, maar hier komen we later op terug.
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 }
Het belangrijkste voordeel van deze aanpak is dat alle berekeningen tijdens compile-tijd worden uitgevoerd, wat het gebruik in metaprogrammeren mogelijk maakt.
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 }
Wanneer je het gecompileerde programma uitvoert, is de waarde van b al 25. De berekening wordt uitgevoerd tijdens het compileren, wat resulteert in nul bewerkingen tijdens de uitvoering.
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.