难说| 看来我还没有入门 CPP
source link: https://bianchengnan.gitee.io//articles/i-am-shocked-by-these-20-cpp-questions/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
难说| 看来我还没有入门 CPP
5
月 18
日参加了 Incredibuild
与博览网联合举办的主题为 《深入解析 20 个 c++ 典型输入错误》的线上研讨会。主要讲解了 20
个 C++
中的典型错误。本以为作为一个 c++
老鸟,做这些题应该问题不大吧?您猜怎么着?20
道题,我可能没做对 5
道题目。汗!!!
话不多说,请看题。
我这 20
道题截图列在下面,大家可以试试自己对 C++
的掌握程度。
说明: 以上截图都来自线上研讨会的
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
注意: 观看回放可能需要报名。
我认为这些题考察的比较细节,但是又非常重要。我越来越觉得 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++》
。
如果您想理解 auto
、decltype
、型别推导、万能引用等,一定要好好读读第 1 章
和 第 5 章
,相信一定能对相关概念有全新认识。如果您对智能指针感兴趣,一定要好好读读 第 4 章
,本以为自己对智能指针了解的够透彻了,再读后又有了新收获。
不知道这 20
道题,您做对了几道呢?私信聊聊您对这些题目的看法吧。
- 本文作者: BianChengNan
- 本文链接: https://bianchengnan.gitee.io/articles/i-am-shocked-by-these-20-cpp-questions/
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!
- 作者寄语: 文章的结束只是思考的开始,您宝贵的意见和建议将是我继续前行的动力,点击右侧分享按钮即可携友同行!
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK