递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 350|回复: 15
打印 上一主题 下一主题

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

[复制链接]

63

主题

883

帖子

3890

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3890
跳转到指定楼层
楼主



回复

使用道具 举报

82

主题

772

帖子

4482

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
4482
QQ
沙发
发表于 6 天前 | 只看该作者
支持
欢迎加入火山安卓交流群:623136156
回复

使用道具 举报

2

主题

37

帖子

194

积分

注册会员

Rank: 2

积分
194
板凳
发表于 6 天前 | 只看该作者
用嵌入式方法可以封装std::function, 问题是怎么优雅的实现闭包函数的传参和返回值
回复

使用道具 举报

26

主题

1587

帖子

5930

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
5930
地板
发表于 6 天前 | 只看该作者
std::function<void()> 不难封装,std::bind 就完事,难的是带参数和返回值的,没有优雅的写法。
简单的匿名函数现在也不难写,不需要加那个 @视窗.前缀文本 "//",但带参数的匿名函数,我想不到能如何封装。
回复

使用道具 举报

63

主题

883

帖子

3890

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3890
5#
 楼主| 发表于 6 天前 | 只看该作者
本帖最后由 hcwanz 于 2024-6-25 18:29 编辑
Xelloss0618 发表于 2024-6-25 18:15
std::function 不难封装,std::bind 就完事,难的是带参数和返回值的,没有优雅的写法。
简单的匿名函数现 ...

参数好像奇怪的能用


回复

使用道具 举报

2

主题

37

帖子

194

积分

注册会员

Rank: 2

积分
194
6#
发表于 6 天前 | 只看该作者
hcwanz 发表于 2024-6-25 18:26
参数好像奇怪的能用

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

都很丑陋
回复

使用道具 举报

26

主题

1587

帖子

5930

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
5930
7#
发表于 6 天前 | 只看该作者
hcwanz 发表于 2024-6-25 18:26
参数好像奇怪的能用

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

使用道具 举报

63

主题

883

帖子

3890

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3890
8#
 楼主| 发表于 6 天前 | 只看该作者
本帖最后由 hcwanz 于 2024-6-25 20:48 编辑
Xelloss0618 发表于 2024-6-25 20:33
你这 c、d 是靠 [&] 捕获进来,而不是传参。

是传参.
回复

使用道具 举报

63

主题

883

帖子

3890

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3890
9#
 楼主| 发表于 6 天前 | 只看该作者
cloud261 发表于 2024-6-25 20:31
比如js数组map函数那种, 接受一个参数,返回一个值, 怎么优雅的实现
我看标准库用的类似“取循环索引”这 ...

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

使用道具 举报

26

主题

1587

帖子

5930

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
5930
10#
发表于 6 天前 | 只看该作者



明显不是参数,而是通过 [&] 俘获了匿名函数外部的变量
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-7-1 06:36 , Processed in 0.099810 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表