Mais uma analogia vencedora para ponteiros, chamadas por valor e chamadas por referência: e-mails.
Quando passamos um parâmetro por valor, estamos enviando um e-mail com um arquivo em anexo. Não importa o que o destinatário faça com o arquivo: nós não vamos saber o que foi mudado se ele não enviar uma outra cópia.

Por outro lado, ao passar um parâmetro por referência, estamos enviando um e-mail com um endereço de onde está o arquivo. Se o usuário alterar o arquivo diretamente do endereço que enviamos será possível ver essa alteração imediatamente, pois ambos estão olhando para o mesmo valor na memória.

A analogia pode ser levada mais longe, com ponteiros de ponteiros: enviamos um e-mail com o endereço de um arquivo; dentro desse arquivo existe um endereço para outro arquivo. Dessa forma é possível tanto alterar o arquivo final quanto o endereço de onde ele está; ou ainda "apontar" para outro arquivo, trocando o endereço de dentro do primeiro arquivo.

Assim é fácil de visualizar que os dados estão sempre em um arquivo que ocupa espaço na memória (do disco ou da RAM), mas endereços também podem ocupar espaço, se estiverem salvos em um arquivo.

Dessa forma, um e-mail que contenha um arquivo em anexo vai ser muito maior que um e-mail apenas com o endereço do arquivo, mas é porque todo o conteúdo do arquivo está dentro do e-mail no primeiro caso. No segundo caso, o endereço ocupa apenas alguns caracteres que identificam a localização do arquivo.

January 22nd, 2010 at 1:20 am
Caloni, você considera PONTEIROS como um tipo de dado?
January 26th, 2010 at 3:59 pm
Olá, Fred.
É óbvio que sim. Se considerarmos tipos como moldes para a memória, um ponteiro seria o molde para endereço de memória. Na verdade, em linguagens como C/C++ isso vai além, já que é possível especificar para qual tipo de objeto o ponteiro aponta: ponteiro para inteiro, para classe abstrata, etc.
[]s
January 29th, 2010 at 4:31 pm
Achei essa analogia brilhante, eu ando apanhando para aprender C++ e só pra memorizar o funcionamento dos ponteiros demorei mais de um mês. Agora com esse esquema de e-mail ficou fácil lembrar ( principalmente quando te perguntam pra que serve um ponteiro e dá aquele branco...)
January 31st, 2010 at 4:19 pm
Bacana a analogia!
February 5th, 2010 at 8:54 am
Seu anti-spam é chato, quanto é 8 + 6 ?
Mas sobre seu artigo.. vc é completamento louco Wandeco, mas se funciona para vc, ótimo!
Abraços
March 10th, 2010 at 7:07 pm
Muito interessante a analogia, e até engraçada.
Parabéns