C++的发展与特点
一、C++的历史
1979年,本贾尼·斯特劳斯特卢普到了AT&T贝尔实验室,开始从事将C改良为带类的C(C with classes)的工作。1983年,该语言被正式命名为C++。
1998年,C++的ANSI/IS0标准被投入使用。
C++(c plus plus)是一种计算机高级程序设计语言,由C语言扩展升级而产生。
C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计。 C++几乎可以创建任何类型的程序:游戏、设备驱动程序、HPC、云、桌面、嵌入式和移动应用等。 甚至用于其他编程语言的库和编译器也使用C++编写。
二、C++的特点
1、与C语言的兼容性
C++与C语言完全兼容,C语言的绝大部分内容可以直接用于C++的程序设计,用C语言编写的程序可以不加修改地用于C++。
2、数据封装和数据隐藏
在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。在面向对象的程序设计中,将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义。对象被说明为具有一个给定类的变量。每个给定类的对象包含这个类所规定的若干私有成员、公有成员及保护成员。完好定义的类一旦建立,就可看成完全封装的实体,可以作为一个整体单元使用。类的实际内部工作隐藏起来,使用完好定义的类的用户不需要知道类的工作原理,只要知道如何使用它即可。
3、支持继承和重用
在C++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。新定义的类为子类,成为派生类。它可以从父类那里继承所有非私有的属性和方法,作为自己的成员。
4、多态性
采用多态性为每个类指定表现行为。多态性形成由父类和它们的子类组成的一个树型结构。在这个树中的每个子类可以接收一个或多个具有相同名字的消息。当一个消息被这个树中一个类的一个对象接收时,这个对象动态地决定给予子类对象的消息的某种用法。多态性的这一特性允许使用高级抽象。
5、继承性和多态性的组合,可以轻易地生成一系列虽然类似但独一无二的对象。由于继承性,这些对象共享许多相似的特征。由于多态性,一个对象可有独特的表现方式,而另一个对象有另一种表现方式。
核心特点概述:
C++是一种高效、灵活且多范式的编程语言,主要特点包括高性能、面向对象编程、泛型编程、内存管理控制、跨平台支持以及丰富的标准库。
1、高性能:C++通过直接操作硬件资源和编译时优化,生成高效的机器代码,适用于游戏引擎、操作系统等对性能要求高的场景。
2、面向对象编程(OOP):支持封装、继承、多态三大特性,提升代码的可重用性和可维护性。
3、泛型编程:通过模板机制实现数据类型的抽象,增强代码的通用性和灵活性(如STL容器和算法)。
4、内存管理控制:允许手动分配和释放内存,提供对系统资源的精细控制,但需开发者自行处理内存安全问题。
扩展特性与优势
1、多范式支持:除OOP外,还支持过程式编程(兼容C语言)、函数式编程(如Lambda表达式)。
2、跨平台可移植性:代码可在不同操作系统和硬件环境中编译运行,但需注意平台依赖性问题。
3、丰富的标准库:STL提供了高效的数据结构(如向量、哈希表)和算法(如排序、搜索),显著提升开发效率。
4、直接硬件访问:适用于底层开发,如驱动程序和嵌入式系统。
其他重要特性
1、运算符与函数重载:允许自定义运算符行为,增强代码表达力。
2、类型安全增强:引入const常量、智能指针等机制,减少运行时错误。
3、结构化与模块化:通过函数和类实现代码分隔,便于维护和调试。
阅读参考
1、C++百度百科

浙公网安备 33010602011771号