Pular para o conteúdo principal

Postagens

Mostrando postagens de novembro, 2015

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 .

Dependência cíclica de headers

Uma coisa que acaba atrapalhando quem está começando no C++ é a dependência cíclica dos headers . Quando estamos escrevendo programas minúsculos isso não acontece, mas é um cenário muito comum. Antes de falar mais sobre as dependências, vamos entender um pouco da inclusão destes headers . Como funciona o famoso  #include ? Supondo que temos 3 arquivos: main.cpp , main.h e int_vector.h , com o seguinte conteúdo:

Mestre Iota

Iota é a nona letra do alfabeto grego, ela é equivalente à letra i do nosso alfabeto. Por convenção ou hábito, utilizamos a letra i na programação para indicar algum tipo de incrementador, como por exemplo, em um for-loop . https://gist.github.com/fabiogaluppo/a23894ae743f7dd29274 Curiosamente, iota , como identificador, também é utilizado na programação para indicar uma sequência finita e consecutiva de números inteiros, como por exemplo, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. Inclusive, originalmente na STL existia a função iota , inspirada pela linguagem de programação APL , você pode conferir neste link: http://www.sgi.com/tech/stl/iota.html