zoukankan      html  css  js  c++  java
  • 【Qt】信号和槽对值传递参数和引用传递参数的总结

    在同一个线程中

    当信号和槽都在同一个线程中时,值传递参数和引用传递参数有区别: 值传递会复制对象;(测试时,打印传递前后的地址不同) 引用传递不会复制对象;(测试时,打印传递前后的地址相同)

    不在同一个线程中

    当信号和槽不在同一个线程中时,分两种情况。 1、connect时使用AutoConnection(跨线程默认是QueuedConnection):值传递参数和引用传递参数没有区别,都会复制对象;(测试时,打印传递前后的地址不同) 2、connect时使用DirectConnection,测试结果和在同一线程中的结果相同

    转自:https://blog.csdn.net/u010168781/article/details/82108522

    emit发射信号 在信号中以&引用作为参数

    以引用作为参数一定要注意,在第二次发射信号的时候,引用的实体已经不存在了。

    所以,如果想让每一次发射的信号中参数的值都保存下来,不能是&引用和*指针作为参数,而应该使用值传递。

    这样每次发射信号的值都能够保存下来。

  • 相关阅读:
    泛式之争
    测试的本质
    动态语言与静态语言
    对象之间的关系
    关于“重复”的一段交流
    装饰器与子类化
    类的设计质量
    抽象跟难
    Unity经典游戏编程之:球球大作战
    关于Unity 中对UGUI制作任务系统的编程
  • 原文地址:https://www.cnblogs.com/liushui-sky/p/9729784.html
Copyright © 2011-2022 走看看