C++ 是一种静态类型化、编译、通用、区分大小写的自由格式编程语言,支持过程编程、面向对象的编程和泛型编程。
C++ 被视为一种中级语言,因为它包含高级和低级语言功能的组合。
C++ 由 Bjarne Stroustrup 于 1979 年在新泽西州默里山的贝尔实验室开发,作为 C 语言的增强,最初命名为 C with Classes,但后来在 1983 年更名为 C++。
C++ 是 C 的超集,实际上任何合法的 C 程序都是合法的 C++ 程序。
注意: 当在编译时而不是运行时执行类型检查时,称为编程语言使用静态类型。
面向对象编程
C++ 完全支持面向对象编程,包括面向对象开发的四大支柱 -
标准库
标准 C++ 由三个重要部分组成 -
- 提供所有构建块的核心语言,包括变量、数据类型和文字等。
- C++ 标准库提供了一组丰富的函数来处理文件、字符串等。
- 标准模板库 (STL) 提供了一组丰富的方法来操作数据结构等。
ANSI 标准
ANSI 标准是确保 C++ 可移植的尝试;您为 Microsoft 编译器编写的代码将使用 Mac、UNIX、Windows 机器或 Alpha 上的编译器进行编译,而不会出错。
ANSI 标准已经稳定了一段时间,所有主要的 C++ 编译器制造商都支持 ANSI 标准。
学习 C++
学习 C++ 最重要的是专注于概念。
学习编程语言的目的是成为一名更好的程序员;也就是说,在设计和实施新系统以及维护旧系统方面变得更加有效。
C++ 支持多种编程样式。您可以用任何语言以 Fortran、C、Smalltalk 等的风格进行写作。每种风格都可以有效地实现其目标,同时保持运行时间和空间效率。
使用 C++
- C++ 被数十万程序员用于几乎每个应用程序领域。
- C++ 被广泛用于编写设备驱动程序和其他软件,这些软件依赖于在实时约束下直接操作硬件。
- C++ 广泛用于教学和研究,因为它足够干净,可以成功教授基本概念。
- 任何使用过 Apple Macintosh 或运行 Windows 的 PC 的人都间接使用了 C++,因为这些系统的主要用户界面是用 C++ 编写的。
C++ Hello 世界
通过在控制台上打印“Hello World”,开始使用第一个程序学习 C++ -
上述代码的输出为:
Hello, World!
C++ 优点
C++ 编程语言与其他语言相比具有许多优势。其中一些优点如下 -
- 丰富的标准库:C++ 语言为用户提供了丰富有用的标准模板库 (STL)。该库具有许多内置方法和数据结构模板,可以使这种语言的编码高效快捷。
- OOPS 概念: C++ 语言为用户提供面向对象的编程概念,如类、对象、抽象、多态性等等。因此,它充当 C 编程语言的修改版和更好版本。
- 更快的性能: 与 Python、Go、C# 等其他语言相比,C++ 语言更快。这使得它在嵌入式系统和游戏处理器中非常有用。
- 高效编译器:C++ 是一种编译语言。C++ 编译器用途广泛,它既可以接受过程程序,也可以接受面向对象的程序。
- 独立于硬件:C++ 语言独立于任何硬件或系统设计。C++ 程序可以在任何安装并启用了 C++/GCC 编译器的系统上运行。
- 庞大支持基础: C++ 是全球使用最广泛的编程语言之一。它拥有庞大的开发人员和程序员社区。这可以在 Github、Reddit、Discord、DEV、Stack Overflow 等平台上进行探索。
C++ 缺点
C++ 编程语言也有一些缺点,下面列出了:
- 错误检测:C++ 提供了低级设计的便利,并且非常接近系统的硬件。因此,这可能会导致用户执行难以观察和检测的小错误。
- 代码冗长: C++ 的代码库非常长,许多程序员发现很难编写如此冗长的语法。这引起了 Python、Go 等语言用户群的强烈反对,这些语言更容易编码,也更容易执行。
- 学习曲线: 与 Python 和 Go 相比,C++ 的学习曲线非常陡峭。用户觉得最初的构建阶段非常难学,而且有很多概念让初学者觉得很难理解。
关于 C++ 的事实
以下是有关 C++ 编程语言的一些有趣且鲜为人知的事实 -
- C++ 语言是在 AT&T 贝尔实验室发明的,也是 C 语言发明的地方。
- C++ 语言在 NASA 中被大量使用,它在飞行软件和命令设计中可以找到应用。
- C++ 是 C 语言的后继者。名称 C++ 仅取自 C,递增运算符 ('++') 表示该语言是 C 的下一个版本。
- C++ 广泛用于游戏开发、服务器端网络、TCP/IP 连接、低级设计等领域。
- C++ 程序从执行 main() 函数开始,其他函数仅使用 main() 函数进行重定向。
- C++ 几乎继承了 C 的所有特性,并融合了 Simula68 编程语言的 OOPS 概念。
- C++ 不支持纯面向对象的编程。程序可以在不使用类和对象的情况下执行,就像在过程语言中一样。
- 有许多语言是使用 C++ 概念化的,其中一些是 C#、Java、JavaScript 等等。