建波三句话,竟让我花18分钟了解信号槽原理

那日,qt群中聊天,无聊的我说起了qt相关的基础知识。

突然,群主出现,发出了斜眼笑的表情

建波问道:“你知道信号与槽用的是什么原理莫”?

好多小伙伴最开始都说,因该是使用了“回调函数机制”,于是我赶紧写了一段回调函数程序,以防自己忘记。

#include <iostream>

using namespace std;

void printICY()
{
	cout << "icy yyds" << endl;
}

void printJb()
{
	cout << "建波 天下第一" << endl;
}


void callback(void(*print)(void))
{
	print();
}
int main()
{
	callback(printICY);
	callback(printJb);
	getchar();
	return 0;
}

 输出结果:

icy yyds
建波 天下第一

我缓过神来,发现回调函数确实可以实现型号与槽,但是有太多的缺点,必须要知道对应的函数名,等一些列问题。

建波笑笑,“看来你门还是要把基础学好,看看源码”。

   我想了想,此事并不简单,内部处理方式一定不是简单回调函数机制,看来我要看看源码研究研究。

   我从书架上看到两本书,一本是qt编程书,另一本也是qt编程书,但是书籍中只是讲解了基本的槽函数的用法,也没有去讲解详细原理,顿时感觉自己失落了许多。

   但我鼓足了勇气,开始了解了源码。

    凡事总需要研究,才会明白。过去我常看书籍,信号与槽也还记得,可是不甚清楚。我翻开qt书籍一查,这本书没有原理,歪歪斜斜的每一页都写着“信号与槽”几个字。我横竖睡不着,仔细查看源码,才从代码里看了出来,满本都写着五个字是“观察者模式”!

未完待续!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值