Ponteiros C++
Criando ponteiros
Você aprendeu no capítulo anterior que podemos obter o endereço de memória de uma variável usando o &
operador:
Exemplo
string food = "Pizza";
// A food variable of type string
cout <<
food; // Outputs the value of food (Pizza)
cout << &food; // Outputs the memory address of food (0x6dfed4)
Um ponteiro , no entanto, é uma variável que armazena o endereço de memória como seu valor .
Uma variável de ponteiro aponta para um tipo de dados (como int
ou string
) do mesmo tipo e é criada com o *
operador. O endereço da variável com a qual você está trabalhando é atribuído ao ponteiro:
Exemplo
string food = "Pizza"; // A food variable
of type string
string* ptr =
&food; // A pointer variable, with the name
ptr, that stores the
address of food
// Output the value of food (Pizza)
cout << food << "\n";
// Output
the memory address of food (0x6dfed4)
cout << &food << "\n";
//
Output the memory address of food with the pointer (0x6dfed4)
cout <<
ptr << "\n";
Exemplo explicado
Crie uma variável de ponteiro com o nome ptr
, que aponte para uma string
variável, usando o sinal de asterisco
*
( string* ptr
). Observe que o tipo do ponteiro deve corresponder ao tipo da variável com a qual você está trabalhando.
Use o &
operador para armazenar o endereço de memória da variável chamada food
e atribua-o ao ponteiro.
Agora, ptr
mantém o valor do food
endereço de memória de .
Dica: Existem três maneiras de declarar variáveis de ponteiro, mas a primeira é a preferida:
string* mystring; // Preferred
string *mystring;
string * mystring;