关于C++中list; iterator iter++ = list3.begin();的含义。
答案:2 悬赏:0 手机版
解决时间 2021-11-26 17:41
- 提问者网友:骨子里的高雅
- 2021-11-25 17:09
关于C++中list; iterator iter++ = list3.begin();的含义。
最佳答案
- 五星知识达人网友:天凉才是好个秋
- 2021-11-25 17:20
由于++的优先级高于赋值=
所以上面这个写法是错误的
因为iter没有意义的时候,执行++运算会出错。追问我也奇怪, 但是在VC6.0下编译没有问题,
感觉像是等价于 iter = list3.begin();
iter++;
但是用自己的VS2008就不行了....追答对,用vs2008就会报错,这样写有问题,如果要实现上面的功能,你就分开写吧。。。追问呐这两句实则是等价的喽?追答不是等价的。追问呐分开写应该是?追答按照这样写
iter = list3.begin();
iter++;
-------------------------------------
iterator iter++ = list3.begin();这种写法是错误的
所以上面这个写法是错误的
因为iter没有意义的时候,执行++运算会出错。追问我也奇怪, 但是在VC6.0下编译没有问题,
感觉像是等价于 iter = list3.begin();
iter++;
但是用自己的VS2008就不行了....追答对,用vs2008就会报错,这样写有问题,如果要实现上面的功能,你就分开写吧。。。追问呐这两句实则是等价的喽?追答不是等价的。追问呐分开写应该是?追答按照这样写
iter = list3.begin();
iter++;
-------------------------------------
iterator iter++ = list3.begin();这种写法是错误的
全部回答
- 1楼网友:动情书生
- 2021-11-25 18:54
这个写法应该是没有错的,因为是后缀++,所以等价于 iterator iter=list3.begin();iter+=1;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯