ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

难说| 看来我还没有入门 CPP

2022-07-25 21:05:00  阅读:175  来源: 互联网

标签:20 入门 赋值 难说 C++ 运算符 CPP 移动 构造函数


难说| 看来我还没有入门 CPP

原cpp新标准博览Incredibuildppt

前言

518 日参加了 Incredibuild 与博览网联合举办的主题为 《深入解析 20 个 c++ 典型输入错误》的线上研讨会。主要讲解了 20C++ 中的典型错误。本以为作为一个 c++ 老鸟,做这些题应该问题不大吧?您猜怎么着?20 道题,我可能没做对 5 道题目。汗!!!

话不多说,请看题。

20 题

我这 20 道题截图列在下面,大家可以试试自己对 C++ 的掌握程度。

q1-3
q1-3

q4-6
q4-6

q7-9
q7-9

q10-12
q10-12

q13-15
q13-15

q16-18
q16-18

q19-20
q19-20

说明: 以上截图都来自线上研讨会的 PPT,我只是个搬运工。

怎么样?有没有被刺激到?是不是有很多拿不准的地方?对照参考答案来看看自己答对了多少题吧。

参考答案摘录如下:

B C D B A

B B B A C

B D B D C

B D A A B

资料

视频回放地址在下面海报的二维码中,感兴趣的小伙伴儿可以扫码查看。视频中有每道题比较详细的解释,PPT 中有每道题相关的参考资料。PPT 可以通过网盘下载。百度网盘链接: https://pan.baidu.com/s/10FNs6ENXk4uJg6h629fRTw?pwd=xpnv 提取码: xpnv

注意: 观看回放可能需要报名。

poster

感受

我认为这些题考察的比较细节,但是又非常重要。我越来越觉得 C++ 就是这样,如果有些细节不知道,在不知不觉中会有性能损失,甚至会导致错误的行为。用孟岩大佬的话说就是心智负担太重。

比如,新标准中引入的移动语义可以解决拷贝的效率问题。但是如果脑子里没有这根弦儿,很容易漏掉移动构造函数和移动赋值函数。

又比如,编译器会在必要的时候帮我们生成构造函数、析构函数、拷贝构造函数、拷贝赋值运算符、移动构造函数和移动赋值运算符(移动语义)。但是,什么是必要的时候呢?如果我们实现了析构函数,编译器是不会自动为我们生成移动构造函数和移动赋值运算符的。

接触 C++ 时间越多,越能理解 Linus 大神怒喷 C++ 是糟糕程序员的垃圾语言。中文翻译版本链接如下,感兴趣的小伙伴可以读一读。

http://blog.csdn.net/turingbook/archive/2007/09/07/1775488.aspx

总之,不得不承认的一点是这门语言真的是越来越复杂了。也越发觉得我还是太菜了,要学习的东西太多了。

好书推荐

相信,搞 C++ 开发的小伙伴儿一定听过或看过 Scott Meyers 大神的 《Effective C++》《More Effective C++》。强烈推荐一下他的新书 《Effective Modern C++》

如果您想理解 autodecltype、型别推导、万能引用等,一定要好好读读第 1 章第 5 章,相信一定能对相关概念有全新认识。如果您对智能指针感兴趣,一定要好好读读 第 4 章,本以为自己对智能指针了解的够透彻了,再读后又有了新收获。

私信聊聊

不知道这 20 道题,您做对了几道呢?私信聊聊您对这些题目的看法吧。

标签:20,入门,赋值,难说,C++,运算符,CPP,移动,构造函数
来源: https://www.cnblogs.com/bianchengnan/p/16518783.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有