hcwanz 发表于 2024-6-25 08:58:08

基于go的协程, 想到的视窗对匿名函数的支持




沉默流星 发表于 2024-6-25 10:04:19

支持

cloud261 发表于 2024-6-25 18:01:11

用嵌入式方法可以封装std::function, 问题是怎么优雅的实现闭包函数的传参和返回值

Xelloss0618 发表于 2024-6-25 18:15:30

std::function<void()> 不难封装,std::bind 就完事,难的是带参数和返回值的,没有优雅的写法。
简单的匿名函数现在也不难写,不需要加那个 @视窗.前缀文本 "//",但带参数的匿名函数,我想不到能如何封装。

hcwanz 发表于 2024-6-25 18:26:36

本帖最后由 hcwanz 于 2024-6-25 18:29 编辑

Xelloss0618 发表于 2024-6-25 18:15
std::function 不难封装,std::bind 就完事,难的是带参数和返回值的,没有优雅的写法。
简单的匿名函数现 ...
参数好像奇怪的能用


cloud261 发表于 2024-6-25 20:31:55

hcwanz 发表于 2024-6-25 18:26
参数好像奇怪的能用

比如js数组map函数那种, 接受一个参数,返回一个值, 怎么优雅的实现
我看标准库用的类似“取循环索引”这种方式来取c++端的参数
返回的话,估计实现起来也差不多,比如 “设置结果(123)”

都很丑陋

Xelloss0618 发表于 2024-6-25 20:33:25

hcwanz 发表于 2024-6-25 18:26
参数好像奇怪的能用

你这 c、d 是靠 [&] 捕获进来,而不是传参。

hcwanz 发表于 2024-6-25 20:38:36

本帖最后由 hcwanz 于 2024-6-25 20:48 编辑

Xelloss0618 发表于 2024-6-25 20:33
你这 c、d 是靠 [&] 捕获进来,而不是传参。
是传参.

hcwanz 发表于 2024-6-25 20:41:11

cloud261 发表于 2024-6-25 20:31
比如js数组map函数那种, 接受一个参数,返回一个值, 怎么优雅的实现
我看标准库用的类似“取循环索引”这 ...

标准库的命名都是详细大过书写的, 点名就是文本型和字节集类的相关方法, 两个字的事情,能写出一大串

Xelloss0618 发表于 2024-6-25 20:51:15

hcwanz 发表于 2024-6-25 20:38
是传参.



明显不是参数,而是通过 [&] 俘获了匿名函数外部的变量
页: [1] 2
查看完整版本: 基于go的协程, 想到的视窗对匿名函数的支持