C++0x erase in loop
现在正在使用C++开发一个S/C的程序,用到有趣的C++,竟然还是成为笑话。一个删除std::vecotr里面元素的编写,就让我头大了两个小时,郁闷郁闷。#include #include int main() { std::vector x = { 0, 1, 2, 3, 4, 5, 6 }; auto i = x.begin(); while( i!=x.end() ) { if( *i / 2 ) x.erase(i++); else i++; } for(auto y:x) { std::cout « y « " “; }}