Если мы имеем дело с несколькими потоками, один из которых добавляет и удаляет элементы в список (std::list) а другой работает с этими элементами, то будет ли он более безопасен в плане access violation чем std::map.
Я вот о чем говорю.
Допустим один поток делает push_back and erase, а в другом такая функция
void Server::Send ()
{
iter = list.begin();
for (; iter != list.end(); ++iter)
{
sendInfo (iter->iSocket);
}
}
Ведь по идее если использовать map и при работе этой функции вставится или удалится элемент, то итератор может стать недействительноым из за перелокации элементов. А список по идее не трогает другие элементы при вставке или удалении. Я понимаю что до конца защищено не будет, но все же..