设为首页收藏本站

ISO/IEC C++ China Unofficial

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 383|回复: 9

Variant 黑科技

[复制链接]

10

主题

108

帖子

473

积分

超级版主

RA2DIY 特别行政区行政长官

Rank: 8Rank: 8

威望
4
经验
354
贡献
3
发表于 2015-12-1 22:49:57 | 显示全部楼层 |阅读模式
https://github.com/lhmouse/MCF/b ... ariant.hpp?ts=4#L18
附一个使用效果截图:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
We will prevail!! www.lhmouse.com
回复

使用道具 举报

1

主题

21

帖子

80

积分

注册会员

Rank: 2

威望
0
经验
59
贡献
0
发表于 2015-12-1 23:08:42 | 显示全部楼层
O.O

点评

摸头。  发表于 2015-12-1 23:12
回复

使用道具 举报

8

主题

64

帖子

269

积分

超级版主

Rank: 8Rank: 8

威望
12
经验
169
贡献
12
发表于 2015-12-2 10:15:50 | 显示全部楼层
这么快就弄好了!

啥时把返回值也实现了就perfect了。
回复 支持 反对

使用道具 举报

10

主题

108

帖子

473

积分

超级版主

RA2DIY 特别行政区行政长官

Rank: 8Rank: 8

威望
4
经验
354
贡献
3
 楼主| 发表于 2015-12-2 11:17:22 | 显示全部楼层
nadesico19 发表于 2015-12-2 10:15
这么快就弄好了!

啥时把返回值也实现了就perfect了。

比较难,重载的函子未必具有同一的返回类型,用 common_type 推导也会有操蛋的 glvalueness 问题。

点评

要允许重载具有不同返回值的情况的确有点鬼畜了。。。不过booooost的做法已经能够满足大部分需求。当然,还是要再拜一拜吱_(:3」∠)_  发表于 2015-12-2 16:58
We will prevail!! www.lhmouse.com
回复 支持 反对

使用道具 举报

1

主题

10

帖子

44

积分

新手上路

Rank: 1

威望
0
经验
34
贡献
0
发表于 2015-12-2 12:32:05 | 显示全部楼层
好厉害

点评

>_<  发表于 2015-12-3 01:52
回复

使用道具 举报

10

主题

108

帖子

473

积分

超级版主

RA2DIY 特别行政区行政长官

Rank: 8Rank: 8

威望
4
经验
354
贡献
3
 楼主| 发表于 2015-12-2 17:55:02 | 显示全部楼层
nadesico19
要允许重载具有不同返回值的情况的确有点鬼畜了。

实际上可以用出参解决,代价就是基本没法 RVO,还有 auto foo = v.apply(bar()); 啥的。
We will prevail!! www.lhmouse.com
回复 支持 反对

使用道具 举报

0

主题

10

帖子

45

积分

新手上路

Rank: 1

威望
1
经验
32
贡献
1
发表于 2015-12-3 12:17:49 | 显示全部楼层
大猫的 99 行 和 114 行是不是应该是 ElementT&&?

评分

参与人数 1威望 +1 贡献 +1 收起 理由
LH_Mouse + 1 + 1 确认。最开始是 move 的,forward 是后改的.

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|ISO/IEC C++ China Unofficial    

GMT+8, 2017-10-19 20:52 , Processed in 0.065549 second(s), 34 queries , Xcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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