C ++ passando o ponteiro para a função (Howto) + manipulação de ponteiro C ++
Estou um pouco confuso sobre como funciona o uso de ponteiros.
Digamos que eu tenho a seguinte função e ponteiro, e ...
EDITAR:
... Eu quero usar um ponteiro para algum objeto como argumento na função.
ou seja:
void Fun(int Pointer){
int Fun_Ptr = ---Passed Pointer---;
//So that Fun_Ptr points to whatever ---Passed Pointer points to
Entre as notações * Pointer e & Pointer, estou muito confuso. Eu sei que * Ponteiro significa dar o que ele aponta.
Coloco void (int * pointer) na declaração. E quando eu uso a função?
Sua assistência é apreciada.
EDIT 2:
Ok, agora entendo que o uso da variável * em uma declaração significa que um ponteiro será passado. No entanto, e quando eu uso a função?
isto é
int main(){
int foo;
int *bar;
bar = foo;
Fun(bar);
}
EDIT 3: Ok, então me corrija se eu estiver errado:
De acordo com as convenções do código acima:
bar = & foo significa: faça com que o ponto de barra foo na memória
* bar = foo significa Alterar o valor que a barra aponta para igual a foo igual a
Se eu tiver um segundo ponteiro (int * oof), então:
bar = oof significa: barra aponta para o ponteiro oof
bar = * oof significa: bar aponta para o valor que oof aponta, mas não para o próprio ponteiro doof
* bar = * oof significa: altere o valor que a barra aponta para o valor que oof aponta para
& bar = & oof significa: altere o endereço de memória que a barra aponta para ser o mesmo que o endereço de memória que aof aponta para
Eu tenho esse direito?
EDIÇÃO 4: Muito obrigado por toda a sua ajuda (gostaria de poder aceitar mais de uma resposta, mas tenho que seguir a primeira. Não tenho certeza de como um wiki da comunidade funciona exatamente, mas deixarei assim para edição (fique à vontade para transformá-lo em um guia de referência, se quiser).