【问题标题】:Modification of dereferenced value leads to modification of true value取消引用值的修改导致真实值的修改
【发布时间】:2023-03-09 05:35:01
【问题描述】:

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

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的时候,为什么“value”的值会随着*ptr的变化而变化?

【问题讨论】:

标签: c++ pointers dereference


【解决方案1】:

不知道当我把*ptr改成9的时候,为什么“value”的值会随着*ptr的变化而变化?

因为ptr 指向value。间接操作的结果是一个左值,它指定了指向的对象。

【讨论】:

    猜你喜欢
    • 2011-11-04
    • 2014-10-24
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多