为什么预增量是L值?
预增量(i)和后增量(i)都增量一个变量,它们在左值方面存在显着差异。左值是指可修改内存位置的表达式。
说明
后自增 (i ) 返回变量 i 的原始值,而不是对它的引用。因此,无法将 i 赋值给它,因为它表示一个没有可修改位置的计算值。考虑以下示例:
int i = 5; i++; // Cannot assign a value to i++ because it does not represent a variable.
另一方面,预增量 ( i) 返回对增量变量的引用。这允许它被分配,因为它指向一个可修改的内存位置。例如:
int i = 5; ++i; // The pre-increment returns a reference to the incremented variable.
因此,i 可以被视为左值,因为它提供了对可修改内存位置的引用,而 i 不能,因为它代表计算值。此外,出于性能原因,预增量是首选,尤其是对于像迭代器这样的重量级对象,因为其基于引用的方法。
以上是为什么预增量 (i) 是 L 值,而后增量 (i) 不是 L 值?的详细内容。更多信息请关注PHP中文网其他相关文章!