O que significa "desreferenciar" um ponteiro em C/C++?
Olá a todos! Comecei a estudar C++ recentemente e não consigo entender o conceito de desreferenciar ponteiros. Li muitos artigos, mas ainda fico confuso.\n\nDigamos que eu tenha este código:\n\n```cpp\nint x = 42;\nint* ptr = &x;\n```\n\nEu entendo que `ptr` é um ponteiro que armazena o endereço da variável `x`. Mas o que significa "desreferenciá-lo"? Por exemplo, quando escrevo `*ptr`, o que exatamente acontece? É a mesma coisa que o operador de referência `&`?\n\nTentei exibir os valores:\n\n```cpp\nstd::cout << ptr; // exibe o endereço\nstd::cout << *ptr; // exibe 42\n```\n\nMas por que é necessário desreferenciar? Por que não posso simplesmente usar a variável `x` diretamente? Em quais casos isso é realmente necessário?\n\nO que me confunde especialmente é quando no código usam ponteiros duplos (`int** ptr2`) ou desreferenciam
No answers yet.
Faça login para deixar uma resposta