[C.C++] C++简介

31 0
Honkers 昨天 11:37 | 显示全部楼层 |阅读模式

目录

一、C++介绍

二、C++历史

C++的起源

标准化历程

主要版本特性

影响与应用

现状与未来

三、C++特点 

四、面向对象

一、C++介绍

        C++ 是一种通用编程语言,支持面向对象、泛型和过程式编程范式。它由 Bjarne Stroustrup 于 1985 年开发,作为 C 语言的扩展,广泛应用于系统软件、游戏开发、嵌入式系统和高性能计算等领域。

二、C++历史

C++的起源

        C++由贝尔实验室的Bjarne Stroustrup于1979年开始开发,最初命名为“C with Classes”。其目标是增强C语言的功能,支持面向对象编程(OOP),同时保持高效性和灵活性。Stroustrup受到Simula语言的启发,但需要一种更接近硬件的语言以开发系统软件。

标准化历程

        1983年更名为C++,名称中的“++”象征C语言的改进。1985年发布首个商业版本《The C++ Programming Language》第一版。1998年,国际标准化组织(ISO)发布首个C++标准(C++98),标志着语言正式标准化。后续版本包括C++03(小修正)、C++11(重大更新)、C++14、C++17及C++20,每次更新引入现代特性如智能指针、Lambda表达式等。

主要版本特性

  • C++11:引入自动类型推断(auto)、范围循环、移动语义(std::move)、多线程库等。
  • C++14:改进泛型编程,扩展constexpr功能。
  • C++17:结构化绑定、并行算法、std:ptional等。
  • C++20:模块化支持(Modules)、概念(Concepts)、协程(Coroutines)。

影响与应用

        C++广泛应用于操作系统(如Windows内核)、游戏开发(Unreal Engine)、高频交易、嵌入式系统等领域。其高性能和底层控制能力使其在资源受限场景中占据主导地位。

现状与未来

        C++保持活跃发展,ISO委员会每三年发布新标准。社区通过提案(如Papers)推动语言演进,平衡新特性与稳定性。现代C++强调安全性、易用性,同时兼容传统代码库。

三、C++特点 

在支持C的基础上,全面支持面向对象编程

• 编程领域广泛,功能强大(最强大的编程语言,没有之一)

• 标准保持更新,目前常用的基础标准为ISO C++98标准、ISO C++11标准等

• 为数不多的支持底层操作的面向对象语言

• 在面向对象的语言中执行效率极高

四、面向对象

面向对象编程(OOP)

OOP是程序设计工程化的一种方法,软件架构的一种思想。

OOP基本原则是程序是由单个能够起到子程序作用的单元或对象组合而成,以达到软件工程的三个主要目标:重用性、灵活性和扩展性。

        对于面向对象:我的理解是写项目类类似于开公司,你开会给每一个员工分配责任(算法),然后指挥员工去干活,每个员工解决负责的工作,达到最后的目标。
        一个更简易的比喻:如何把大象放进冰箱。

  1. 把大象与冰箱拟人化,把大象冰箱叫来开会。
  2. 分配工作。
  3. 让大象与冰箱自己完成工作。

这就是面向对象。

面向过程,就是以”如何解决问题“为核心。

面向对象,就是以”谁来解决问题“为核心。

面向过程的语言,它所关注的重点是“算法”。

算法,从概念上,可以被理解成一系列的有序的步骤。

只要按照这个步骤来做,就可以得到预期的结果。

所以,面向过程的语言编写的程序,(通常)是一系列有序的语句。

这种思考方式更接近计算机(CPU读取/执行指令)的本质。

面向过程,更加注重底层算法,因此语言的执行效率比较高,然而效率高的方式更偏向于计算机的思维,因此对编程者而言相对不那么友好,因此开发效率低。可以比喻成是材料学。

面向对象的语言,它所关注的重点是“对象”。

而在计算机中,“对象”的本质是一系列由于某种联系聚焦在一起的“数据”。

所以,可以认为,面向对象的语言,关注的重点是“数据”以及“数据与数据之间的联系”。

这种思考方式(相比于面向过程)更接近人类看待事物的方式。

而在这种思考方式下,“过程”变成了“对对象本身进行的操作”。

面向对象,更加注重于上层的结构设计,对象和对象之间的关系构成,在执行效率上没有面向过程的要求高,思维更偏向于人的思维,因此对编程者比较友好,开发效率高。可以比喻成建筑学。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行