Единственное, о чем я могу думать, это то, что у вас есть несколько потоков, и m_mustfindStops
на самом деле является членом или глобальной переменной, а не локальной для этой функции.Приведенный выше код никоим образом не может вызвать проблемы, если он правильный и взятый отдельно.
Если у вас несколько потоков, то доступ для чтения одновременно с доступом на запись вызовет случайные ошибки - даже если контейнер выглядит пустым, онВозможно, этого не произошло, когда начался вызов find
.
Другая возможность состоит в том, что какой-то другой код повредил кучу, и в этом случае любой ваш код, использующий память кучи, может работать неправильно.Имея это в виду, что если всегда нарушается эта логика, моя ставка была бы на проблему с многопоточностью.
Кстати - в Visual C ++ v10 нет абсолютно ничего плохого в std::set
- ваш код должен иметь ошибку.