设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

【慎入】造轮黑科技:C++中的traits和SFINAE,了解一下?

查看数: 3012 | 评论数: 6 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-3-29 22:51

正文摘要:

本帖最后由 不死鸟之翼 于 2018-3-29 23:55 编辑 为了方便未登录用户阅读,同样的文章已经放到这里 https://azurefx.name/article/cpp-traits-and-sfinae/ 大扎好,我系喵^3,今天为大家介绍一下【今天】的C++造 ...

回复

IamI 发表于 2018-4-4 12:36:36
熊的选民 发表于 2018-4-4 11:45
为什么又是反人类的foo啊bar啊的,搞点简单易懂的dog、cat不是更好吗?

Alice、Bob、Eason 等用户向你发送了赞

点评

boob表示不服  发表于 2018-4-5 11:43
熊的选民 发表于 2018-4-4 11:45:59
本帖最后由 熊的选民 于 2018-4-4 11:48 编辑

为什么又是反人类的foo啊bar啊的,搞点简单易懂的dog、cat不是更好吗?
M.Winderic. 发表于 2018-4-3 21:51:29
cpp......嗯,反正咱比较懒,坐等标准更新……
⑨姐姐 发表于 2018-3-30 08:51:28
嗯感觉实现还是挺直接的……大概就是很多逻辑都在编译期完成了。
之前还见过玩递归的(怕写错于是stackoverflow上找了一个:)

  1. template<class none = void>
  2. constexpr int f()
  3. {
  4.     return 0;
  5. }
  6. template<int First, int... Rest>
  7. constexpr int f()
  8. {
  9.     return First + f<Rest...>();
  10. }
  11. int main()
  12. {
  13.     f<1, 2, 3>();
  14.     return 0;
  15. }
复制代码


实际写的时候还是习惯根据需求给相应的类加上bool isXXX()……

评分

参与人数 1+1 收起 理由
不死鸟之翼 + 1

查看全部评分

chd114 发表于 2018-3-29 23:24:13
有一种花时间证明地球是圆的一样的感觉···

点评

1是入坑的人需要想办法确定的,2交给你们这些大触来(滑稽)  发表于 2018-3-30 10:46
差不多吧,但掌握了还是很实用的。自己造一遍轮子就会知道 1 How it works; 2 Can we make it better?  发表于 2018-3-29 23:48
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-27 07:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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