В настоящее время я пытаюсь заменить некоторые части моего кода на std :: shared_ptr и std :: weak_ptr.Во многих частях у меня есть std :: vectors из std :: weak_ptrs (которые раньше были первичными ptrs) и использую std :: find для поиска определенного указателя в массиве.Это не работает со слабыми указателями, так как они не реализуют операторы == по разным причинам.Я должен придерживаться std :: weak_ptr, чтобы избежать циклических зависимостей.Каковы мои варианты, я должен вернуться к использованию сырых указателей вместо слабых указателей?
пример
//_window is a shared_ptr that I want to find in a vector of weak_ptrs
WindowWeakPtrArray::iterator it = std::find(m_windows.begin(), m_windows.end(), _window);
Спасибо