i++和++i都是C++中的自增运算符。它们都会将变量i的值加1。但是它们有一些微妙的区别。
i++是先返回变量i的当前值,然后再将变量i的值加1。它被称为后缀形式的自增运算符。例如:
inti=1;intj=i++;std::couti""jstd::endl;
输出结果为:
21
++i是先将变量i的值加1,然后返回变量i的新值。它被称为前缀形式的自增运算符。例如:
inti=1;intj=++i;std::couti""jstd::endl;
输出结果为:
22
i=i+1和i+=1和i+1是C++中的等价表达式,它们都会将变量i的值加1。但是它们有一些微妙的区别。
i=i+1是最显式的表达式,它会将变量i的值先加1再赋值给变量i。
i+=1是缩写形式,它是i=i+1的缩写,它会将变量i的值先加1再赋值给变量i。
i+1是运算符表达式,它会返回i+1的值,不会对变量i进行修改。
注意:在编程中,应该根据需要来选择使用哪种表达式,并且应该注意每种表达式的副作用。