Léxico de TI › Programação › Templates em C++

Templates em C++

Programação Svenska → Atualizado: 2026-10-01

O mecanismo de programação genérica do C++. Escreva código parametrizado por tipos: template<typename T> class Vector { T data; ... };. Bjarne Stroustrup, 1990.

Mensagens de erro notoriamente complicadas ("template error vomit"). SFINAE (Substitution Failure Is Not An Error) é o truque para especialização parcial. Metaprogramação com templates = calcular valores em tempo de compilação (clássico: Factorial<5>::value). Os Concepts (C++20) padronizam as restrições de template → mensagens de erro muito mais limpas. Baseado em monomorfização (compila código diferente para cada tipo instanciado) ⇒ execução rápida, mas binários maiores. A STL (Standard Template Library) é construída inteiramente sobre templates: std::vector, std::map, <algorithm>.

← Voltar ao léxico