迭代器失效,迭代器++报错
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f5a4be6ffb4 in std::_Rb_tree_increment(std::_Rb_tree_node_base*) () from /usrb/x86_64-linux-gnubstdc++.so.6
[Current thread is 1 (Thread 0x7f5a362f4700 (LWP 45441))]
(gdb) where
#0 0x00007f5a4be6ffb4 in std::_Rb_tree_increment(std::_Rb_tree_node_base*) () from /usrb/x86_64-linux-gnubstdc++.so.6
#1 0x0000559cce8be9c8 in std::_Rb_tree_iterator<.....>::operator++ (this=<synthetic pointer>)
at /usr/include/c++/7/bitsl_tree.h:295
原因:
在用迭代器执行erase,insert等函数时,迭代器的指针会被释放掉,从而不能继续使用,如果继续使用,则会报错;
加锁