struct BLA
{
int size_;
int size()const{ return size_; }
}
int 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 上试过。