Есть unordered_map
std::unordered_map<uint32_t, std::shared_ptr<CServerInfo>> m_connections;
Внутри объекта CServerInfo есть следующий unordered_map
std::unordered_map<uint32_t, std::shared_ptr<CUserInfo>> m_clients;
Внутри CUserInfo есть массив в 5 элементов, который так же std::shared_ptr<CServerInfo>
Если мне я уничтожу элемент из m_connections, то уничтожится ли m_clients правильно или нужно weak_ptr использовать? Тут вроде нету ссылок друг на друга у объектов класса