如何学习C++
- 前言
- 一、如何学习C++
- 二、别人是怎么学C++的
- 21天学会C++
- 编程能力与编程年龄
- 三、自己怎么学
- 总结
前言
学习C++需要掌握其基础语法、指针和内存管理、STL库使用、面向对象编程等核心概念。可通过阅读权威书籍、在线教程和参考官方文档来系统学习。实践是关键,通过编写小程序练习基础语法,逐渐尝试复杂项目以加深理解。遇到问题时,利用社区论坛、问答网站等资源寻求解答,也可通过调试和错误排查锻炼问题解决能力。持续学习和实践,结合项目需求深入学习特定领域的知识,如游戏开发、性能优化等。保持耐心和毅力,不断积累经验,逐步提升编程技能。
一、如何学习C++
学习C语言需要多多练习,学习数据结构需要多多思考,那学习C++呢?
学习C++可以从基础语法开始,掌握变量、数据类型、运算符、控制流等基本概念。接着学习面向对象编程,包括类、对象、继承、多态等概念,并了解STL标准库的使用。为提高编程效率,还需熟悉常用算法和数据结构。此外,通过实践项目,如编写小型程序或参与开源项目,可加深理解和提升技能。在学习过程中,参考优质教程和书籍,如《C++ Primer》,并利用在线资源如Stack Overflow进行问题解决。重要的是持续练习和反思,不断调整学习方法和策略,以逐步掌握C++编程。
二、别人是怎么学C++的
以下引用自2010年8月号《程序员》刊登的拙文《C++强大背后》最后一段:
C++缺点之一,是相对许多语言复杂,而且难学难精。许多人说学习C语言只需一本K&R《C程序设计语言》即可,但C++书籍却是多不胜数。我是从C进入C++,皆是靠阅读自学。在此分享一点学习心得。个人认为,学习C++可分为4个层次:
- 第一个层次,C++基础 (平平常常)挑选一本入门书籍,如《C++ Primer》、《C++大学教程》或Stroustrup撰写的经典《C++程序设计语言》或他一年半前的新作《C++程序设计原理与实践》,而一般C++课程也止于此,另外《C++ 标准程序库》及《The C++ Standard Library Extensions》可供参考;
- 第二个层次,正确高效的使用C++ (驾轻就熟)
此层次开始必须自修,阅读过《(More)Effective C++》、《(More)Exceptional C++》、 《EffectiveSTL》及《C++编程规范》等,才适宜踏入专业C++开发之路; - 第三个层次,深入解读C++ (出神入化)
关于全局问题可读《深入探索C++对象模型》、《Imperfect C++》、《C++沉思录》、《STL源码剖析》,要挑战智商,可看关于模版及模版元编程的书籍如《C++ Templates》、《C++设计新思维》、《C++模版元编程》; - 第四个层次,研究C++ (返璞归真)
阅读《C++语言的设计和演化》、《编程的本质》(含STL设计背后的数学根基)、C++标准文件《ISO/IEC 14882:2003》、C++标准委员会的提案书和报告书、关于C++的学术文献。
由于我主要是应用C++,大约只停留于第二、三个层次。然而,C++只是软件开发的一环而已,单凭语言并不能应付业务和工程上的问题。建议读者不要强求几年内“彻底学会C++的知识”,到达第二层左右便从工作实战中汲取经验,有兴趣才慢慢继续学习更高层次的知识。虽然学习C++有难度,但也是相当有趣且有满足感的。
如果题主认为的「精通」是指上述所指的第二层次,那么我估计一年全职时间也未足够「精通」。首先,阅读这些书籍本身也需要不少时间,而且对于一般人来说(指除了一些学习记忆能力超强的人),很可能需要阅读几遍才能记住一些细节。另外,阅读后必须要练习。除了入门的习题外,还需要做一些工程向的项目,才能了解各种语法、编程范式的使用方法及时机,理想地建议参与一些开源项目。然而,学习是需要不断思考并把结果沉淀,方法包括与朋友讨论、写博客、写知乎答案等,这些都需要时间。
21天学会C++
原文——21天学会C++
建议不要把「精通C++」作为一个一年目标,应该要把学习语言作为一个持续的过程,同时要把语言运用在具体的应用场合中。
编程能力与编程年龄
原文——编程能力与编程年龄
三、自己怎么学
虽然C++语法特性繁琐复杂,经典书籍琳琅满目
-
多总结(画思维导图),也可以像小编一样通过写博客来复习知识点
-
常看书
合理的看书安排,切记贪,缓缓图之,否则容易走火入魔。-
初窥门径
入门阶段,找一本简单、薄一点的书快速入门,《C++程序设计》就挺适合的,可以简单快速了解C++的语法特性。 -
潜心修行
小编建议各位读者学完C++的基本内容后可以看下《Effective C++》,该书以建议的方式告诉你如何写出更好的C++程序,看和不看差别非常大。《C++ Prime》可以当成工具书对待,有不清楚的语法特性可以快速去查,利用闲暇之余细细品味 -
深入浅出
这两本书都有一定难度,如果基础知识掌握不扎实,不建议看,强烈建议好好把基础知识打扎实。《STL源码剖析》将六大组件逐一剖析,看完之后对STL的设计框架以及内部实现原理有更深的认识《深度探索C++对象模型》会让你对C++语法设计原理有更深层次的认识,有些疑惑的知识点看完之后里面就清晰了。
-
-
勤刷题
- 牛客网
- leetcode
总结
C++不仅仅是一门语言,更是一种生活哲学,在以后的工作之余还需要大家继续挖掘……