Преобразование на основе диапазона для нормального цикла - PullRequest
0 голосов
/ 10 февраля 2020
for (const auto & rRec : m_map_handshake)
    {
        if (rRec.second->GetHostName() == inet_ntoa(c_rSockAddr.sin_addr))
        {
                return true;
        }
    }

У меня есть такой код, но основанный на диапазоне для l oop не будет работать на старом компиляторе g cc.

Есть ли способ поработать над этим? Я не эксперт по C ++

1 Ответ

3 голосов
/ 10 февраля 2020

Можно использовать обычный for l oop. Похоже, это std::map. Используйте итератор для обхода элементов и сопоставления условия.

for(const <map-type>::iterator it = m_map_handshake.begin(); it != m_map_handshake.end();++it){
        if (it->second->GetHostName() == inet_ntoa(c_rSockAddr.sin_addr))
        {
                return true;
        }
}

Здесь <map-type> будет иметь тип m_map_handshake.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...