C++学习记录一
2017-02-09 16:44
260 查看
概述
一、嵌入式开发中为什么学习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++语言?
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++之路,以供后来的新人学习
- Effective C++学习记录之Things To Remember
- C#一小时学习记录 有c++基础才行 threadpool 和IIS崩
- C++学习大纲和记录
- C++学习大纲和记录 分类: VC++ 2012-10-13 08:02 135人阅读 评论(0) 收藏
- 记录我在C++学习中的点点滴滴!
- C++ 学习拾遗 —— 点滴记录C++学习过程中遇到的问题以及整理
- C++学习、成长记录(2011-2012第一学期第18周)
- C++学习、成长记录(2011-2012第一学期第17周)
- C++ 学习记录,小技巧
- 记录自己学习C++的点滴,(高手请指点) 偶能承受打击
- 20101231学习记录C++ STL
- 20101230学习记录C++ STL
- C++学习、成长记录(2011-2012第一学期第18周)
- C++ 对象模型学习记录(3)--- 第1章 关于对象(未完)
- 关于c++的学习情况,不再更新了,因为找到了更好的笔记记录工具
- 20101229学习记录C++ STL
- C++ 对象模型学习记录(1)--- 第2章 构造函数语义学
- C++零碎学习记录
- c++学习步骤(记录)