VCLZ-42 2023-03-06 22:24 采纳率: 72.2%
浏览 13
已结题

map迭代器这种写法可以改进吗?

最近使用map迭代器,函数需要返回第二个值inpacket。请问最后一句return (this->*it->second)(listPacket,inPacket);还有更好的写法吗?
这样看起来很绕。



    int CCommand::ExcuteCommand(int nCmd,std::list<CPacket>& listPacket,CPacket& inPacket)
    {
        std::map<int, CMDFUNC>::iterator it = m_mapFunction.find(nCmd);
        /*如果没找到直接返回-1*/
        if (it==m_mapFunction.end())
        {
            return -1;
        }
        return (this->*it->second)(listPacket,inPacket);
    }

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2023-03-07 08:43
    关注

    函数中的map存储的是个函数指针,最后return的是这个函数的返回值,没啥绕的啊,代码已经很简洁了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • CSDN-Ada助手 CSDN-AI 官方账号 2023-03-12 23:56
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月16日
  • 已采纳回答 3月8日
  • 创建了问题 3月6日

悬赏问题

  • ¥15 网络打印机Ip地址自动获取出现问题
  • ¥15 求局部放电案例库,用于预测局部放电类型
  • ¥100 QT Open62541
  • ¥15 stata合并季度数据和日度数据
  • ¥15 谁能提供rabbitmq,erlang,socat压缩包,记住版本要对应
  • ¥15 Vue3 中使用 `vue-router` 只能跳转到主页面?
  • ¥15 用QT,进行QGIS二次开发,如何在添加栅格图层时,将黑白的矢量图渲染成彩色
  • ¥50 监控摄像头 乐橙和家亲版 保存sd卡的文件怎么打开?视频怎么播放?
  • ¥15 Python的Py-QT扩展库开发GUI
  • ¥60 提问一下周期性信信号的问题