修改取消引用的值会导致修改真值

时间:2018-04-02 15:27:26

标签: c++ pointers dereference

我有一些代码作为指针的例子。

short value=7;

short *ptr=&value;

std::cout<<&value<<'\n';
std::cout<<value<<'\n';
std::cout<<ptr<<'\n';
std::cout<<*ptr<<'\n';
std::cout<<'\n';

*ptr=9;

std::cout<<&value<<'\n';
std::cout<<value<<'\n';
std::cout<<ptr<<'\n';
std::cout<<*ptr<<'\n';
std::cout<<'\n';

我想知道当我将* ptr改为9时,为什么&#34;值&#34;根据* ptr改变?

1 个答案:

答案 0 :(得分:1)

  

我想知道当我将* ptr改为9时,为什么&#34;值&#34;根据* ptr改变?

因为ptr指向value。间接操作的结果是指定指向对象的l值。