【 在 fanci 的大作中提到: 】
: f(i++);
: 如果f抛异常了, i++还发生吗?
: (我记得是不发生的吧?因为i++需要发生在序列点后,而分号定义了序列点,而抛异常的话这个序列点就没到?是这样不……)
当然,在call function (绿色框)之前,i 已经加1 了(红色框)
其实可以把 i++ 认为成下面代码
const int int::operator++(int)
{
int copy = *this;
++(*this);
return copy;
}
--
修改:hanjiamajia FROM 199.19.107.*
FROM 124.251.33.*