注册 登录
编程论坛 C++教室

++j和j++

THE_ONE 发布于 2011-08-07 15:29, 1043 次点击
大家好~
请问一下,++j和j++有什么的区别?最好举一些例子
谢谢~~
13 回复
#2
城东古桥2011-08-07 15:42
int a=++j;是j本身的值加1后再赋给a;
int a=j++;是j先赋值给a,本身在加1
#3
我是菜鸟C2011-08-07 18:30
int a=++j;返回的是j+1;a和j的值都加1.
int a=j++;返回的是j,a的值为j原来的值,j的值+1.
#4
xg56992011-08-07 20:34
j++是先返回j后自加
++j是先自加后返回j
两者的主要区别在于返回值
比如
int j=0,a=0;
a=++j;
那么a是1,j也是1;
a=j++;
那么a是0,但j的值也是1
也就是说无论++j或者j++ j的值始终会是j=j+1的结果;

#5
冰之痕2011-08-07 23:02
int j=1;
cout<<j++; // = 1
cout<<++j; // = 2
#6
pangding2011-08-07 23:13
如果不会这些,还是应该踏下心。从基础学起。
#7
zerokingf12011-08-08 15:38
j++是先返回j后自加
++j是先自加后返回j
#8
zerokingf12011-08-08 15:38
最基本的
#9
jcw081201102011-08-08 15:54
记得多用++j ,少用j++; 不懂优先级就加括号来用; 这些低级的错误一开始就应该避免,防微杜渐!
#10
icecream2352011-08-09 15:37
++j多用,j++少用的啊,我++j好像用的没多少,要改啊。。
#11
hahayezhe2011-08-09 15:43
这有什么区别?
无非就是作为右值时一个取了再加、一个加了再取、完全没有效率的叠加

什么循环用 前置自加,估计没几个知道为什么
只有在的类的对象重载了前置和后置自加时才能体现出来,后置多了一个参数而已。
#12
zft6053033462011-08-09 17:37
学习了
#13
alonetripccq2011-08-09 19:58
回复 10楼 icecream235
二者使用主要看需求,你是需要先自加还是后自加。
视具体使用的情况而决定
#14
八画小子2011-08-10 23:15
没有哪个该多用哪个该少用的区别,改用哪个就用哪个。
1