@小小小小鸟 看看这骚操作。
本帖最后由 urenai 于 2023-12-28 12:17 编辑似乎是堆栈问题?
还是什么其他问题。
抛开执行完报错的问题。
获取到的指针,不能脱离当前空间。
就类似,函数返回文本,当函数返回后,内部变量就释放了,外部自然无法获取正确值。
:L都写成类了.还要搞这么复杂,直接用类事件作线程事件不就完事了?? 一、你要先了解 lambda 表达式是什么,它可以原位定义一个匿名函数,而匿名函数是全局函数,是不会释放的。
二、如果使用"嵌入式方法"封装,匿名函数会定义在调用语句的位置,所以每次调用这种嵌入式方法,生成的匿名函数是不同的个体,地址也不一样。
三、你调用匿名函数的地址报错,是因为你没有提供正确的参数(当前的类指针)。 没有捕获外部变量的lambda函数可以安全转成函数指针,不会被释放,不过这样跟写成全局函数没啥区别了
捕获了变量的lambda实际上是个匿名的结构体+函数, 就不能转指针保存了
你这搞这么复杂,汇编都上了,是要实现什么 cloud261 发表于 2023-12-30 12:23
没有捕获外部变量的lambda函数可以安全转成函数指针,不会被释放,不过这样跟写成全局函数没啥区别了
捕获了 ...
闹着玩的,没什么追求。
就是好奇,因为不了解,就是想尝试一下。
页:
[1]