前置递增符与后置运算符区别
*前置版本
首先将运算对象加一或减一,然后把改变后的对象作为求值结果。
*后置版本
后置版本也将运算对象加一或减一,但是求值结果是对象改变前的那个值的副本
这两种运算符必须作用于左值运算对象。前置版本将对象本身作为左值返回,后置版本则将对象原始值的副本作为右值返回。
来源于c++primer
实例
#include "pch.h"
#include <iostream>
using namespace std;
int main()
{
int a = 1;
cout << a++ << endl;//后置递增运算符
}
输出为1.
#include "pch.h"
#include <iostream>
using namespace std;
int main()
{
int a = 1;
cout << ++a << endl;//前置递增运算符
}
输出为2.