sách gpt4 ăn đã đi

c++ - 指针增量 - 奇怪

In lại 作者:搜寻专家 更新时间:2023-10-31 00:17:36 25 4
mua khóa gpt4 giày nike

struct BLA
{
int size_;

int size()const{ return size_; }
}

số nguyên x;
BLA b[ 2 ];
BLA * p = &b[ 0 ];

b[ 0 ].size_ = 4;
b[ 1 ].size_ = 6;

当我编译这一行时:

x = p->size_ + (p++)->size_;

我收到了预期的结果。但是,当我编译这一行时(没有前一行):

x = p->size() + (p++)->size();

然后我得到不同的结果。 'p' 不会与上一行同时递增。有人可以解释一下吗?在 VS 2008 和 VS 2010 上试过。

câu trả lời hay nhất

在没有中间序列点的情况下单独读取和修改变量是未定义的行为。您已经看到了其后果的一个很好的例子。

关于c++ - 指针增量 - 奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13009005/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress