楼主: 张雅宸
跳转到指定楼层
上一主题 下一主题
收起左侧

求推荐学习c++模板和元编程的资料和书籍

全局:
很多人说学元编程有什么用
难不等于有用

我真的服了。。

编译时执行比运行时执行哪个更快?
有些代码库满屏的元编程(比如thrift)。。

这和英语无用论有啥区别。。
恕我直言,你觉得写Cpp用不到元编程,可能真的是你的问题。。

评分

参与人数 1大米 +1 收起 理由
jasonGuo + 1 赞一个

查看全部评分

回复

使用道具 举报

🔗
 楼主| 张雅宸 2020-9-6 11:01:13 | 只看该作者
全局:
magicsets 发表于 2020-9-6 08:18
楼主有什么模板/元编程/STL实现上的具体的问题可以集中开一个帖子发出来问。这方面很多东西是需要融汇贯通 ...

好的,谢谢指导
回复

使用道具 举报

🔗
xfuyun 2020-9-6 15:06:56 | 只看该作者
全局:
Rorshach 发表于 2020-9-6 06:01
服了楼上一堆说学这个有什么用的,有些人真是学计算机只是为了钱而没有对cs这座摩天大厦的崇拜和向往,光这 ...

对CS的摩天大厦的崇拜?你发点你的崇拜路线让我学习一下

C++ STL这种有什么好崇拜的?
回复

使用道具 举报

全局:
匿名者 发表于 2020-9-5 08:12
没什么卵用的东西,学C++已经是钻牛角尖了,还学更没用的模板元,有这时间精力学什么都只会得到更多好处, ...

有点种别匿名啊?这种回复为什么要匿名?
回复

使用道具 举报

全局:
匿名用户 发表于 2020-09-06 08:23:32
呵呵,那你咋不去学汇编呢,效率更高,为什么要有STL,就是要让绝大部分用户别去关注这些没用的,有库就用,知道大概的算法就好了,自己去发明轮子就是钻牛角尖。
真要研究你咋不去研究操作系统呢?不比这玩意
元编程用来解决STL解决不了的问题。

比如说一个函数里你想调用给定容器的find函数,vector没有find需要用std::find. 其他的比如set自带find不应该用std::find,否则是线性查找很慢,这个用元编程可以解决。

永远依靠别人的轮子还看不起造轮子的知识。Hiya。真搞不懂地里怎么这么多人有奇怪的怨气。

也建议你别匿名了。
回复

使用道具 举报

🔗
xfuyun 2020-9-7 06:28:20 | 只看该作者
全局:
cxt0081 发表于 2020-9-7 05:05
元编程用来解决STL解决不了的问题。

比如说一个函数里你想调用给定容器的find函数,vector没有find需要用 ...

我不是那位匿名用户,但我赞同他。我也不匿名。
你举的例子不就知道知道怎么用find就结了的事情吗?
回复

使用道具 举报

🔗
xiaomajia001 2020-9-7 06:34:44 | 只看该作者
全局:
张雅宸 发表于 2020-9-5 14:20
看看vector扩容是怎么利用noexcept move constructor的,因为之前c++没怎么接触过,所以看起来比较慢

可以看《STL源码剖析》侯捷翻译的,不过那时候应该还没有move constructor
回复

使用道具 举报

全局:
xfuyun 发表于 2020-09-06 15:28:20
我不是那位匿名用户,但我赞同他。我也不匿名。
你举的例子不就知道知道怎么用find就结了的事情吗?
我可能没讲清楚。

我的意思是元编程可以检测传进来的模版参数类型是否自带find成员函数,不带的话fallback到std的find。

不使用元编程只能列举所有可能的类型进行重载,并且代码大量冗余。

我其实也不是说针对元编程这个事情。我只是很讨厌各种无用论的论调。即使是汇编,也在对C++编程的安全方面有很大的理解作用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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