基于范围的变换以实现正常循环
Transform range-based for normal loop
for (const auto & rRec : m_map_handshake)
{
if (rRec.second->GetHostName() == inet_ntoa(c_rSockAddr.sin_addr))
{
return true;
}
}
我有这样的代码,但基于范围的 for 循环不适用于旧的 gcc 编译器。
有什么办法可以解决这个问题吗?我不是C++方面的专家
您可以使用普通的for
循环。看起来很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
的类型。
相关文章:
- 在 c++ 中实现嵌套循环的更短方法吗?
- 如何在C++中实现带有packaged_task的异步等待循环?
- 基于范围的变换以实现正常循环
- 实现基于链表的堆栈的基于范围的 for 循环
- 避免在基于反向范围的for循环实现中悬挂参考
- C++ 模板使用递归实现循环
- 是否有可能实现O(N)时间和O(1)空间解决方案,以实现C++中的字符串循环移位
- 如何实现阻塞处理循环?
- 实现循环阵列队列
- 为什么Visual Studio Compiler不在我的Mersenne-Twister实现中循环展开?
- 如何在不停滞主循环的情况下实现对话系统?
- 在 CImg 中实现动画循环的正确方法
- 如何将 A 实现到 B 中,将 B 实现到 A 中(不创建循环)?
- 如何在不使用函数或类的情况下重复代码段,以便在C++中实现高性能循环
- 如何实现一个奇怪的循环
- 如何准确测量和比较opencl速度以实现循环功能的简单速度
- 如何实现循环以增加数据
- 我将如何实现循环调度模拟器
- 使用 deque 在C++中实现循环缓冲区
- 用openmp实现循环并行化的嵌套c++