a++只能作为右值,不能放到=的左边。因为a++是对a的值自增后,把原来的对象返回,就是返回的是一个临时对象,因此a++就只能作右值。而++a返回的是a这个对象,所以可以作左值和右值。
PS:这个日志很短,但是还是得写出来。本来这个问题是我在看Primer时就想到了,刚刚看了一个面试题,竟然忘了。所以尽量把想到的写下来。
本文解析了C++中前置与后置自增运算符的区别,重点阐述了a++只能作为右值使用的原因及其背后的实现机制,并对比了++a的用法。
a++只能作为右值,不能放到=的左边。因为a++是对a的值自增后,把原来的对象返回,就是返回的是一个临时对象,因此a++就只能作右值。而++a返回的是a这个对象,所以可以作左值和右值。
PS:这个日志很短,但是还是得写出来。本来这个问题是我在看Primer时就想到了,刚刚看了一个面试题,竟然忘了。所以尽量把想到的写下来。
581
5977
1714

被折叠的 条评论
为什么被折叠?
