作者khoguan (Khoguan Phuann)
看板C_and_CPP
标题Re: [问题] map元素的删除?
时间Fri Jul 1 18:06:07 2005
※ 引述《renderer (rendering)》之铭言:
: ※ 引述《khoguan (Khoguan Phuann)》之铭言:
: : 至於最上面那个 child.erase(i++); 要进入那个函式之前,也会有
: : 一个 sequence point, 所以 i++ 的 side effect 的部份也会完成,
: : i 这个 iterator 已经顺利的指向下一个 map element 了。而erase()
: 这麽说 即使是 int 的 i++ 也是先加再留下原值罗 ???
之前写那样一篇就期望人家理解,的确是强人所难 :)
我只能先简单说,并无规定先後,由编译器自便,但是到达
sequence point 时,该evaluate的值,该做的 side effect
都得要已经完成。至於哪个地方要有 sequence point 则有
明确规定。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 编辑: khoguan 来自: 220.130.208.168 (07/01 22:38)