single
Parámetros de Plantilla No Tipo
Desliza para mostrar el menú
Al definir una plantilla, no solo podemos especificar tipos, sino también pasar valores a esos tipos. Esto significa que podemos crear plantillas que se comportan de manera diferente según los valores proporcionados, pero volveremos a este tema un poco más adelante.
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 }
La principal ventaja de este enfoque es que todos los cálculos se realizan en tiempo de compilación, lo que permite su uso en metaprogramación.
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 }
Al ejecutar el programa compilado, el valor de b ya será 25. El cálculo se realiza en tiempo de compilación, lo que resulta en cero operaciones en tiempo de ejecución.
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla