嵌入式
软件----中间件:数据库、opencv,tensorflow、音视频 ----操作系统----硬件
应用软件----中间件----内核----硬件
1、Qt:Linux c/c++
2、Linux VS win32
3/4、c 、汇编
//全栈工程师
C++强大而丰富的框架和库:
https://www.cnblogs.com/jiftle/p/10895260.html)
一、衡量语言的标准:
扩展性:添加新的功能,不修改之前的代码
维护性:当出现问题时,能够准确定位代码
复用性:功能代码复用
二、优缺点:
面向结构的语言:复用性差、维护性差、扩展性差;
面向对象的语言:复用性好、维护性好、扩展性好;
//如何用C语言实现面向对象?------Linux内核
三、应用场景:
面向对象:解决复杂宏观的系统任务
面向结构:具体任务
四、面向对象的三大特点:
封装(提高代码的维护性)、
继承(提高代码的复用性)、
多态(提高代码的扩展性)
学习c++的意义:
1、对C语言开发的帮助(面向结构VS面向对象)
2、帮助快速学习其它语言
3、面向对象的思想帮助系统的设计及架构
c++就业方向:
1、应用软件(*桌面软件开发(Linux C++70% VS windows C++30%) Qt(跨平台)VS MFC(windows) *游戏开发)
2、服务器方向:主要是游戏开发服务器及效率稳定性强的服务器
3、图像处理方向(人工智能)(*优秀的开发库Opencv 、运行速度)
4、虚拟现实(c++):仿真设计
面向结构注重过程,面向对象注重实体(对象)
同样一个问题的解决:
面向过程,是把问题分成n个过程,然后按照一定顺序执行;
面向对象,是把这个过程看作是对象之间的相互作用关系
c++语言标准:
c++98
c++11
c++14
c++17
c++20(可期)
各种标准的详解介绍:
https://blog.csdn.net/xiaomu_347/article/details/82563688
c++之父 Bjarne Stroustup
c++ 1980年出现,原名 C With Class 1983: C Plus Plus
面向对象和面向结构总结:
1、都可以实现代码重用和模块化编程,但是面向对象的模块化更深,数据更封闭,也更安全。因为面向对象的封装性更强
2、面向对象的思维方式更加贴近于现实生活,更容易解决大型的复杂的业务逻辑
3、从前期开发角度上来说,面向对象远比面向过程要复杂,但是从维护性和扩展功能的角度上来看,面向对象远比面向过程要简单。
//对于一个新手:当我们的业务逻辑比较简单时,使用面向过程能更快的实现,当我们的业务逻辑比较复杂时,为了将来的维护和扩展,面向对象更为靠谱。