[C++] A mistake when erasing an element in STL set.

Правка en2, от hongjun-7, 2017-10-25 09:50:17
int main() {
	{
		//Wrong
		set  s = {1,2,3,4,5};
		auto it = s.lower_bound(3);
		s.erase(it);
		it++;
		printf("%d\n", *it);
	} {
		//Correct 1
		set  s = {1,2,3,4,5};
		auto it = s.lower_bound(3);
		s.erase(it++);
		printf("%d\n", *it);
	} {
		//Correct 2
		set  s = {1,2,3,4,5};
		auto it = s.lower_bound(3);
		it = s.erase(it);
		printf("%d\n", *it);
	}
}
Теги set

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en2 Английский hongjun-7 2017-10-25 09:50:17 13
en1 Английский hongjun-7 2017-10-25 09:49:21 482 Initial revision (published)