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

本文作者分享了参加的一场关于C++典型错误的线上研讨会,内容涵盖20个C++编程难题。尽管作者自认为是C++老手,但实际答题表现不佳,反映出C++语言的复杂性和细节重要性。文中提到新标准中的移动语义等概念,并推荐了Scott Meyers的《Effective Modern C++》作为学习资源。此外,作者还邀请读者通过提供的视频回放和PPT自我检测并讨论题目答案。

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

前言

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.youkuaiyun.com/turingbook/archive/2007/09/07/1775488.aspx

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

好书推荐

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

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

私信聊聊

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

### 回答1: 很难说哪个关于Codesys入门的教程最好,因为这取决于个人的学习风格和需求。不过,一般来说,以下几点可以帮助您找到最适合您的教程: 1. 清晰易懂的语言和风格:找一个语言表述清晰,风格有趣的教程。 2. 丰富的图像和动画:图像和动画可以帮助您更好地理解概念。 3. 实际案例和练习:找一个教程,提供了许多实际案例和练习,这样您可以练习您学到的知识。 4. 全面性:找一个教程,涵盖了从基础到高级的所有主题,并且对所有概念进行了全面的讲解。 通过考虑这些因素,您可以找到适合您的Codesys入门教程。 ### 回答2: 对于CODESYS初学者来说,最好的教程是由官方提供的教程资料。CODESYS官方网站上提供了大量的教程视频和文档,这些教程涵盖了从基础概念到高级应用的各个方面,非常适合入门学习。 官方教程的优点在于其权威性和全面性。它是CODESYS开发人员和专家编写的,内容经过精心策划,可以确保准确性和可靠性。它的全面性意味着可以从系统的各个方面来学习,从编程语言到界面设计、调试和故障排除等。 此外,CODESYS官方网站还提供了CODESYS社区,用户可以在这里交流和分享经验。这对于初学者来说是非常有帮助的,可以通过别人的经验和问题得到更深入的理解。 当然,除了官方教程外,还可以参考一些第三方技术博客、论坛和视频教程。比如,一些经验丰富的工程师和开发人员可能会有自己的CODESYS教程,他们在实践中积累了一些独特的经验和技巧,这些经验和技巧也可以是非常有价值的学习资源。 总的来说,CODESYS官方教程是初学者入门学习的最佳选择,但同时也可以参考其他第三方资源,以获得更多的视角和经验。 ### 回答3: CodeSys入门的教程最好的是由CodeSys官方提供的官方教程。CodeSys官方教程经过认证和审核,保证了教程内容的准确性和权威性。官方教程不仅详细介绍了CodeSys的基础知识,还深入讲解了CodeSys的各项功能和应用场景。通过官方教程,可以系统地学习CodeSys的使用方法,快速掌握CodeSys的编程技巧和开发技术。此外,官方教程还提供了丰富的实例和练习题,帮助学习者加深理解和应用所学知识。 除了官方教程,还有一些CodeSys培训机构提供的教程也值得推荐。这些培训机构对CodeSys有较深的了解,通过系统的培训课程,学员可以从传统的课堂教学中获得更多的实操机会和交流机会。培训机构的教程通常会根据学员的实际情况和需求,设计相应的教学计划和内容,帮助学员更快地掌握CodeSys的使用技巧和开发技术。 总而言之,CodeSys入门的最佳教程是官方提供的教程和经过认可的培训机构提供的教程。学习者可以根据自己的实际情况和需求选择适合自己的教程,通过系统学习和实践,快速掌握CodeSys的使用和开发技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值