C++ 是一种静态类型、自由形式、(通常是)已编译的、多范式的、通用的中级编程语言,它基于 C。它由 Bjarne Stroustrup 于 1979 年开发。
当今的许多操作系统、系统驱动程序、浏览器和游戏都使用 C++ 作为其核心语言,使其成为使用最广泛的语言之一。
这是一份全面的指南,探讨了您应该考虑学习 C++ 的原因以及如何开始学习 C++。
如果您想直接开始学习 C++,请访问我们的 C++ 教程页面。
C++ 编程的特点
速度
由于 C++ 是 C 的扩展版本,因此它的 C 部分非常底层。
这使得速度大幅提升,这是 Python 和 Java 等高级语言无法提供的。
静态类型
由于 C++ 是一种静态类型编程语言,它不允许编译器对数据类型进行假设。例如,10 与“10”不同,并且必须显式声明。
由于这些类型在编译时确定,因此有助于编译器在程序执行前捕获错误和 bug。
多范式编程语言
C++ 支持至少 7 种不同的编程风格,并允许开发人员随意选择一种。
与 Java 不同,您不必使用对象来解决每项任务,除非必要。
面向对象
C++ 支持面向对象编程,它为程序提供了清晰的模块化结构。
通过在 C++ 中使用它,您可以将这些复杂的问题分解成更小的集合,方法是创建对象。
标准库(标准模板库 - STL)
C++ 的使用可以通过其中包含的标准库进一步扩展。
这些库包含高效的算法,您可以在编写自己的项目时广泛使用它们。
这节省了大量的编程工作,否则这些工作将浪费在重复造轮子上。
为什么你应该学习 C++ 编程?
1. 不可替代性
C++ 在现代游戏、操作系统、浏览器以及更多内容的开发中都有应用,可以肯定地说 C++ 是不可替代的。许多大公司如 Adobe、Amazon、Facebook 和 Autodesk 都在其产品中使用 C++。
2. 学习计算机的内部架构
由于 C++ 是一种中级语言,您将编写直接与计算机内部硬件交互的代码。因此,您将了解计算机内存的工作原理以及信息如何存储和检索。
这必将扩展您对计算机架构的知识。
3. 活跃的社区和开源项目
C++ 拥有庞大的支持社区。有许多活跃的在线论坛可以在您学习过程中遇到困难时提供帮助。
如果您了解 C++,您可以为影响数亿人的大型开源项目做出贡献。一些使用 C++ 编程的大型开源项目包括 TensorFlow、Electron、OpenCV 等。
4. 熟悉编程
许多流行的编程语言都基于 C(以及 C++,被认为是带有 OOP 特性的 C 编程的超集)。因此,如果您了解 C 和 C++,您在切换到其他语言时不会有任何问题。
5. 工作机会
C++ 开发人员的平均年薪约为 100,000 美元,并且工作机会充裕。
工作需求主要集中在游戏开发、渲染引擎和创建 Windows 应用程序。
如何提高 C++ 水平?
在实践中学习
无论您使用何种媒介学习 C++,最终都取决于通过编写程序来练习您所学到的内容。只有练习才能让您成为一名更好的程序员。
不要仅仅复制他人的代码并运行它。花点时间思考代码实际上做了什么。在您的系统上重现它,看看会出现什么错误,最重要的是,从中学习。
遵循 C++ 标准
在开始编程时遵循良好的 C++ 标准非常重要。尽管它们在您开始时给予的自由较少,但在扩展您的程序和深入学习 C++ 时它们会很有帮助。
请查看 IsoCPP 的编码标准 FAQ,并遵循 C++ 核心指南。
阅读他人编写的 C++ 代码
加入 Github 的开源项目并阅读他人的代码。一开始看到项目中的所有代码可能会让人不知所措。您可以使用 Code Whittling 来从小处着手,一次只专注于一件事。
您不仅会学到他人的编码风格,还会理解他们的思维方式。
加入 C++ 社区
向他人寻求帮助。有大量的优秀 C++ 社区可以帮助您解决实际问题,最重要的是,帮助您成为一名更好的开发人员。
其中一些包括
- StackOverflow - 网上最受欢迎的编程问答网站
- Codechef - 练习题、挑战和庞大的程序员社区
- CodeProject - 面向程序员,提供深度文章和庞大的程序员社区
结语
我们在 Programiz 认为 C++ 是一门非常值得学习的语言。即使对于初学者来说,它也有助于理解程序和计算机的整体工作原理。
学习任何语言都需要时间,对于 C++ 来说更是如此。由于它不是一门高级语言,学习 C++ 在开始时可能会让人不知所措,您需要做好准备投入大量时间来学习基础知识。
然而,这段经历将帮助您成为一名出色的开发人员。