Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Parâmetros de Template Não-Tipo | Uso de Templates
Templates em C++
Seção 2. Capítulo 3
single

single

Parâmetros de Template Não-Tipo

Deslize para mostrar o menu

Ao definir um template, podemos não apenas especificar tipos, mas também passar valores para esses tipos. Isso significa que é possível criar templates que se comportam de maneira diferente com base nos valores fornecidos, mas retornaremos a esse assunto um pouco mais adiante.

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 }

A principal vantagem dessa abordagem é que todos os cálculos são realizados em tempo de compilação, o que possibilita seu uso em metaprogramação.

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 }

Ao executar o programa compilado, o valor de b já será 25. O cálculo é realizado em tempo de compilação, resultando em zero operações em tempo de execução.

question mark

Qual é uma vantagem importante do uso de parâmetros de template não-tipo em templates C++?

Selecione a resposta correta

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 3
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

some-alt