C ++是一种静态类型编译,区分大小写,自由格式的编程语言,支持过程,面向对象和通用编程。在编译时执行类型检查不是运行时,编程语言被称为静态类型。
C ++由Bjarne Stroustrup于1979年在新泽西州Murray Hill的贝尔实验室开发,作为C语言的增强版,最初命名为C with Classes,但后来在1983年更名为C ++。
C ++是C的超集,几乎任何合法的C程序都是合法的C ++程序。
C ++完全支持面向对象的编程,包括面向对象开发的四大支柱:
- Encapsulation
- 数据隐藏
- Inheritance
- Polymorphism
标准库
标准C ++包含三个重要部分 :
-
核心语言提供所有构建块,包括变量,数据类型和文字等。
-
C ++标准库提供了丰富的函数集,用于处理文件,字符串等。
-
标准模板库(STL)提供了一组操作数据结构等的丰富方法。
ANSI标准
ANSI标准试图确保C ++是可移植;,Microsoft编译器编写的代码将使用Mac,UNIX,Windows框或Alpha上的编译器进行编译而不会出错。
ANSI标准已经基本稳定,所有主要的C ++编译器制造商都支持ANSI标准。
C++ 的主要特点:
- 面向对象编程(OOP):
- 类(Class):用于定义对象的类。
- 对象(Object):类的实例,具有自己的状态和可通过成员函数访问的行为。
- 继承(Inheritance):允许基于现有类创建新类,并可以添加新的属性或修改现有属性。
- 封装(Encapsulation):隐藏对象的属性和实现细节,只对外提供有限的接口进行交互。
- 多态(Polymorphism):允许将子类对象视为父类对象使用,并实现不同版本的同一函数。
- 模板(Templates):
- 允许函数和类与特定类型无关,从而在编译时自动生成特定类型的代码。这是 C++ 泛型编程的基础。
- 异常处理(Exception Handling):
- 提供了一种结构化的错误处理机制,可以在代码发生错误时恢复或退出。
- C++ 标准库:
- 提供了丰富的标准库,包括STL(Standard Template Library,标准模板库),涵盖了数据结构(如向量、列表、映射等)、算法(如排序、搜索等)以及输入输出等。
- 低级内存操作:
- 允许直接操作内存,例如通过指针和引用。
- 编译型语言:
- C++ 是一种编译型语言,程序在执行前需要编译成机器语言。这通常比解释型语言更快,但开发过程可能稍显复杂。