Layout de memória de structs e classes

Como a memória é alocada em structs e classes

Seguindo o post de dependências entre headers (Dependência cíclica de headers).

Me perguntaram a razão do C++ não fazer o demangling dos nomes simplesmente quando uma variável de classe é declarada e também porque isso é diferente do Java, onde eu simplesmente coloco o nome da classe e faço um import.

Continuar lendo

Anúncios

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