Linux嵌入式开发 C++学习:day1

C++:在C的基础上增加面向对象的思想
【C++简介】
1983年,贝尔实验室(Bell Labs)的Bjarne Stroustrup发明了C++。 C++在C语言的基础上进行了扩充和完善,是一种面向对象程序设计(OOP)语言。
Stroustrup说:“这个名字象征着源自于C语言变化的自然演进”。还处于发展完善阶段时被称为“new C”,之后被称为“C with Class”。C++被视为C语言的上层结构,1983年Rick Mascitti建议使用C++这个名字,就是源于C语言中的“++”操作符(变量自增)。而且在共同的命名约定中,使用“+”以表示增强的程序。
常用于系统开发,引擎开发等应用领域, 至今仍然是最受广大程序员喜爱的编程语言之一
【C++特点】
在支持C的基础上,全面支持面向对象编程
编程领域广泛,功能强大(最强大的编程语言,没有之一)
标准保持更新,目前常用的基础标准为ISO C++98标准、ISO C++11标准等
为数不多的支持底层操作的面向对象语言
在面向对象的语言中执行效率极高
【C++新增特性】
C++基于C语言有如下方面的增强:
更为严格的类型检查
新增变量引用
支持面向对象
新增泛型编程
支持异常处理
支持函数及运算符重载
支持名字空间
【面向对象编程OOP( Object Oriented Programming )】
面向对象编程(OOP)
OOP是程序设计工程化的一种方法,软件架构的一种思想。
OOP基本原则是程序是由单个能够起到子程序作用的单元或对象组合而成,以达到软件工程的三个主要目标:重用性、灵活性和扩展性。
重用性:
代码被重复使用,以减少代码量,就是重用性的重要指标。
灵活性:
软件系统由很多可以复用的构件随意重构,以达到实现不同的功能,非常灵活。
扩展性:
软件系统可以容易地新增需求,基本构件也可以轻松的扩展功能。
【大象冰箱问题】
面向过程思想:
1. 把冰箱门打开
2. 把大象装进去
3. 把冰箱门关上
面向对象思想:
1. 把冰箱和大象拟人化
2. 命令冰箱去找大象,并装进去
3. 冰箱和大象自己完成工作
面向过程的语言,它所关注的重点是“算法”。
算法,从概念上,可以被理解成一系列的有序的步骤。
只要按照这个步骤来做,就可以得到预期的结果。
所以,面向过程的语言编写的程序,(通常)是一系列有序的语句。
这种思考方式更接近计算机(CPU读取/执行指令)的本质。
面向对象的语言,它所关注的重点是“对象”。
而在计算机中,“对象”的本质是一系列由于某种联系聚焦在一起的“数据”。
所以,可以认为,面向对象的语言,关注的重点是“数据”以及“数据与数据之间的联系”。
这种思考方式(相比于面向过程)更接近人类看待事物的方式。
而在这种思考方式下,“过程”变成了“对对象本身进行的操作”。
【总结】

你可能感兴趣的:(c++,算法,编程语言)