前端之家收集整理的这篇文章主要介绍了
c – 为什么Qt信号不是常数,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
I would expect signals not to modify the sender
信号(如generated by the MOC)不直接修改类实例的成员.但是,生成的代码将此指针传递给(由)(潜在)插槽消耗.因此,连接的插槽可以改变信号的发送方.
因此技术原因是,如果信号是const,则需要所有槽实现只调用发送方上的const类成员,以便编译代码而不会出错.
在代码安全方面,将信号实现为非const类成员是一个可以理解的决定.在许多情况下,它仍然感觉不自然(例如,如果在同一类中实现的连接槽是const,或者连接的槽完全属于另一个对象).
原文链接:https://www.f2er.com/c/116472.html