C++概述

来源:互联网 发布:eclipse java界面开发 编辑:程序博客网 时间:2024/05/22 04:48

1首先要明白嵌入式开发中为什么学习c++语言:
1)嵌入式软件工程师岗位需求
2)面向过程编程与面向对象编程 
1°面向过程编程的特点:面向过程程序设计:数据结构加算法,主要解决科学计算问题,用户需求简单而固定
  特点:分析解决问题所需要的步骤;利用函数实现各个步骤;在依次调用函数解决问题。
  问题:软件可重用性差;软件可维护性差;构建的软件无法满足客户需求。
2°C语言的特点:C语言在实践的过程中逐步完善起来的,没有深思熟虑的设计过程,使用时存在很多“灰色地带”,残留过多低级语言的特征,直接利用指针进行内存操作,
但C语言的目标是高效的,最终程序执行效率的高效。
3°面向对象编程的特点:面向对象程序设计:由现实世界建立软件模型,将现实世界中的事物直接映射到程序中,可直接满足客户需求
   特点:直接分析用户需求中涉及的各个实体;在代码中描述现实世界中的实体;在代码中关联各个实体协同解决工作问题。
   优势:构建的软件能够适应用户需求的不断变化;直接利用面向过程方法的优势而避开其劣势
4°C++语言的特点:当面向过程方法论暴露越来越多的缺陷时候,业界开始考虑在工程项目中引入面向对象的设计方法,而第一个需要解决的问题就是:高效的面向对象语言,并且已经能够兼容已经存在的代码
C语言+面向对象方法论:Objective—C + C++
3)学习C++的优势:1°强化C语言编程能力,提高编程的代码质量 2°帮助学习其他编程语言


2 c++为什么难学:
1)c++支持的编程范式:1°过程式 2°数据抽象 3°基于对象 4°面向对象式 5°函数式 6°泛型形式 7°模版元形式
2)值语义与对象语义:值语义可以拷贝与赋值,对象语义不可进行拷贝与赋值。


3 c++相关基础知识点:

1)C++之父是谁:本贾尼·斯特劳斯特卢普
1982年,美国AT&T公司贝尔实验室的Bjarne Stroustrup博士在c语言的基础上引入并扩充了面向对象的概念,发明了—种新的程序语言。为了表达该语言与c语言的渊源关系,它被命名为C++。而Bjarne Stroustrup(本贾尼·斯特劳斯特卢普)博士被尊称为C++语言之父。
2)C++语言的标注:略
3)C++值得学习的新特性:1°智能指针如shared_ptr,weak_ptr等 2°rvalue reference 3°funtion/bind 4°lambda expression and closure


4 C++开发工具(IDE):
1)C++编译器:微软,g++
2)C++集成开发环境(IDE):
1° kDevelop
 
Kdevelop 是 C/C++ 和其他语言的开源插件可扩展 IDE,是基于 KDevPlatform ,KDevPlatform 是个开源程序集,可以作为 IDE 的基础。
 
Kdevelop_cpp
 
2° Anjuta
 
Anjuta Devstudio 是另一个卓越的开发环境,拥有很多超棒的功能,包括项目管理,应用程序向导,交互式调试器,源代码编辑器,版本控制,GUI 设计工具,性能分析器等等。这个 IDE 提供超强大的用户界面开发 C/C++ 程序的接口。
 
best-cpp-ide-anjuta
 
3° Code Blocks
 
code block 是最流行的免费开源的集成环境之一,这个 IDE 包括所有开发者需要的功能,比如:高效的用户界面,编译器和调试器等等。
 
best-cpp-ide-codeblock
 
4° Visual Mingw
 
Visual-MigGW 是个极其抽象的开源 IDE。它所有 Windows API 都变得极其简单,可以进行快速开发。它提供一个简化代码和获取 C++ 对象的模块,提前准备好使用应用框架的环境。
 
best-c++-code editor-visual-min
 
5° Ideone
 
Ideone 是 C 和 C++ 的在线编译和调试工具,支持其他的 60 种语言。这个工具提供许多强大的功能,允许程序员快速高效的编译源代码。
 
best c++ code ditor - ideone
 
6° Eclipse     CDT   VS 2015
 
Eclipse CDT 是最权威也是最流行的 IDE,提供超多高效的特性:支持项目创建和各种工具链的管理,标准 make 构建,源代码导航,各种源知识工具,有语法高亮显示功能的代码编辑器,可视化的调试工具,博阿奎内存,寄存器和反汇编查看器。
 
best-c++-code-editor-eclipse
 
7° Compilr 
 
compiler 是个在线集成开发工具,允许用户使用工具来编写代码和创建简单的用户界面。此工具支持超级多的编程语言,比如 C,C++,Java,HTML 等等。
 
complr
 
8° Code Lite
 
Code lite 是另一个超级棒的免费开源的 C 和 C++ 的 IDE,可以在所有流行的平台上运行(Windows,OS X,Linux 等)。
 
codelite
 
9°  Netbeans C++
 
Netbeans 工具包括大量的 C 和 C++ 的适用的项目类型模版,可以使用动态和静态库去创建 C/C++ 应用。它包括了一系列的特性,得到了广大程序员的喜爱: Code assistance,编译器配置,单元测试,source inspection,远程开发和文件导航等等。
3)C++推荐书籍:C++ primer第五版;Effective C++ 3rd; C++变成规范; 敏捷软件开发---原则、模式与实践; 代码大全,第二版



原创粉丝点击