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 intou 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 stringvariá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 foode atribua-o ao ponteiro.

Agora, ptrmantém o valor do foodendereç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;

Exercícios C++

Teste-se com exercícios

Exercício:

Crie uma variável de ponteiro com o nome ptr, que deve apontar para uma stringvariável chamada food:

string food = "Pizza";
  = &;