gpt4 book ai didi

c++ - 取消引用和后缀++优先级

转载 作者:行者123 更新时间:2023-11-30 02:42:05 28 4
gpt4 key购买 nike

int a[3]={10,20,30};
int* p = a;
cout << *p++ << endl;

根据 wikipedia ,后缀++的优先级高于解引用,*p++应该先运行p++再解引用结果应该是20,但是为什么实际结果是10?

最佳答案

p++ 使用后缀增量运算符。即,它递增 p,但返回递增 之前 存在的值。换句话说,这相当于做这样的事情:

int a[3]={10,20,30};
int* p = a;
int* q = p;
++p;
cout << *q << endl;

当这样设置样式时,打印 10 的原因就很明显了。如果你想递增 p 并打印它的取消引用,你可以使用前缀递增运算符:

int a[3]={10,20,30};
int* p = a;
cout << *(++p) << endl;

关于c++ - 取消引用和后缀++优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27446304/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com