信号与槽机制是比较灵活的但有些局限
信号与槽机制是比较灵活的,但有些局限性我们必须了解,这样在实际的使用过程中才能够做到有的放矢,避免产生一些错误。下面就介绍一下这方面的情况。⑴ 信 号与槽的效率是非常高的,但是同真正的回调函数比较起来,由于增加了灵活性,因此在速度上还是有所损失,当然这种损失相对来说是比较小的,通过在一台 i586-133的机器上测试是10微秒(运行Linux),可见这种机制所提供的简洁性、灵活性还是值得的。但如果我们要追求高效率的话,比如在实时系 统中就要尽可能的少用这种机制。
⑵ 信号与槽机制与普通函数的调用一样,如果使用不当的话,在程序执行时也有可能产生死循环。因此,在定义槽函数时一定要注意避免间接形成无限循环,即在槽中再次发射所接收到的同样信号。
⑶ 如果一个信号与多个槽相关联的话,那么,当这个信号被发射时,与之相关的槽被激活的顺序将是随机的,并且我们不能指定该顺序。
⑷ 宏定义不能用在signal和slot的参数中。
⑸ 构造函数不能用在signals或者slots声明区域内。
⑹ 函数指针不能作为信号或槽的参数。
⑺ 信号与槽不能有缺省参数。
⑻ 信号与槽也不能携带模板类参数。
页:
[1]