您的位置:首页 > 编程语言 > C语言/C++

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语言 C++