Templates e geração de código

O que é um template ?

A programação genérica no C++ se dá em grande parte através de templates. Eles parecem mágicos, pois diferente de um objeto, ele não verifica assinaturas.

Como saber se “C” tem o método sum, sem ter uma interface ?
Isso é validado em tempo de compilação, pois diferente de linguagens como Java, a função declarada com template existe somente quando é instanciada.

Vamos ver isso com exemplos e código rodando !

Continuar lendo

Tamanho e alinhamento

Uma coisa que eu gosto bastante no C++ e que poucas vezes é visto com o devido cuidado é a forma como a memória é alocada. Eu ouço constantemente o mantra: Hoje temos muita memória disponível, um pouco a mais não faz diferença.

Opa, perai.

É verdade que é comum encontrarmos máquinas com 16, 32, 48 GB de memória, mas quando se fala de performance é também importante usar o mínimo possível de memória para um melhor aproveitamento do cache do processador.

Continuar lendo