C++学习记录一
来源:互联网 发布:四川大学软件工程学院 编辑:程序博客网 时间:2024/05/18 20:11
概述
一、嵌入式开发中为什么学习C++语言?
1、 嵌入式软件工程师岗位需求
2、 面向过程编程VS面向对象编程
面向过程编程的特点:
①C语言的特点
*C语言是在时间的过程中逐步完善起来的
·没有深思熟虑的设计过程(使用时存在很多“灰色地带”)
·残留量过多低级语言的特征(直接利用指针进行内存操作)
*C语言的目标是高效的
·最终程序执行效率的高效
②面向过程的编程特点
面向过程程序设计:数据结构+算法
*主要解决科学计算问题,用户需求简单而固定
*特点:分析解决问题所需要的步骤
利用函数实现各个步骤
依次调用函数解决问题
*问题:软件可重用性差
软件可维护性差
构建的软件无法满足用户需求
面向对象编程的特点:
①面向对象的编程特点:
面向对象程序设计:由现实世界建立软件模型
*将现实世界中的事物直接映射到程序中,可直接满足客户需求
*特点:直接分析用户需求中涉及的各个实体
在代码中描述现实世界中的实体
在代码中关联各个实体协同工作解决问题
*优势:构建的软件能够适应用户需求的不断变化
直接利用面向过程方法的优势而避开其劣势
②C++语言的特点:
C语言+面向对象方法论:Objective-C、C++
3、 学习C++的优势
*强化C语言编程能力、提高编程的代码质量
*帮助学习其他编程语言
1、 C++之父:本贾尼·斯特劳斯特鲁普
2、 C++标准:98、03、11、14
3、 C++11值得学习的特性
智能指针如shared_ptr、weak_ptr等
rvalue reference
function/bind
lambdaexpression and closure
4、 C++开发工具(IDE:集成开发环境)Eclipse CDT
5、 推荐书籍:《C++ prime 第五版》(加入C++11的新特性)
《Effective C++ 3rd》*必看、两遍以上
《C++编程规范》
《敏捷软件开发——原则、模式与实践》
《代码大全》(第二版)
从C到C++的升级
1、 声明定义
for(int I = 0; i< 5; i++)
{
i作用域:for循环,出了for循环不能用
}
C++支持C99,所有变量可以在需要时定义
C语言中的变量必须在作用域开始的位置定义
2、 register关键字的升级
*register关键字请求“编译器”将局部变量存储于寄存器中
·C语言无法取得register变量地址
·C++中可以取得register变量的地址
- c 学习记录 一
- 记录c语言入门学习一
- C语言初步学习记录一
- C语言学习重点记录(一)
- IOS与Objective-C学习记录(一)
- 【C#、SQL】学习与错误记录(一)
- C语言学习记录(一):关键的关键字
- Effective Objective-C 2.0 学习记录(一)
- 算法学习记录一(C++)--->二维数组中的查找
- c++————学习记录(一)
- C代码记录一
- C 学习记录 出错记录
- mysql学习记录 一
- PhysX学习记录 一
- 学习记录一
- WCF学习记录一
- 学习记录(一)
- CoreData学习记录一
- react 单元测试,模拟操作后数据的变化
- (17)Spring Boot普通类调用bean【从零开始学Spring Boot】
- 新手入门——部署一个网站需要准备什么
- 【PAT】1054. The Dominant Color
- 关于Node.js后端架构的一点后知后觉
- C++学习记录一
- Linux shell 读取一个data文件,扫描其中的一个内容
- redis秒杀系统数据同步(保证不多卖)
- android Dialog无法获取窗口问题闪退
- map小结
- Spring MVC 开发小技巧收集(更新...)
- 10款常用的Linux音乐播放器
- uiscrollView 2
- 售前咨询顾问应“三多”