唐宋元明沁清 2023-06-25 09:43 采纳率: 66.7%
浏览 17
已结题

c++传值效率问题,插件间相互传值,怎么效率最高?

不同插件间进行数据交换,目前所采用的的方式是,传递list,参数为const list<T>& var的方式,但是耗时较长,所以想问题有没有更好的优化方案。

QList<T> tmpVarLst = DataMgrInstance::getInstance()->getVars();
pluginA->setVars(tmpVarLst);

T为结构体,约100字节,list最大目前有6400个T,测试比较耗时,像传递这种大量的列表类的参数,有没有什么好的办法呢?

  • 写回答

4条回答 默认 最新

  • threenewbee 2023-06-25 09:53
    关注

    传结构体指针,避免复制避免调用复制构造函数
    大量小对象,如果大部分可以重复,可以考虑用享元设计模式+静态对象池

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 7月4日
  • 已采纳回答 6月26日
  • 创建了问题 6月25日