> 文章列表 > C++编程

C++编程

C++编程

为什么要学习C++

●C++是当代计算机领域最重要的编程语言
●可以学习计算机程序设计的核心思想和编程范式(Paradigm) :
        面向对象(00),
        高性能,
        函数式,
        泛式编程
        C++全都有!
●是学一门语言,更是学习抽象思维方式和逻辑方法论
●C++拥有极其广泛的应用和无可匹敌的生态

C++的历史
        ●B语言(Basic Comb ined Progr amming Language)
        ●type less以内存字(word)为基础
        ●recursive,non-numer ic,mach i ne- i ndependent
        ●主要为了Multics (Unix前身) 而开发
        ●B语言实例

/*from Users Reference to B by K. Thompson*/
printn(n, b) {extrn putchar;auto a;if(a= n/ b) /*assignment indeed!*/printn(a, b); /*recursive*/putchar(n %b + '0');
}

实线:功能继承
段线:主要功能借鉴(major)
虚线:次要功能借鉴(minor)

当我们谈C++,谈些什么?
●第一个阶段(1979 - 1995) :储备
        ●CwithClasses
        ●面对对象(OO)思想
●第二个阶段(1996 - 2000) :完善
        ●标准模板库(STL)
        ●Boost
●第三个阶段(2000 -今天) :腾飞
        ●模板元编程
        ●MPL库
        ●Modern C++: Lambda, type deduct ion...

C++常见问题
        ●跨平台.
        ●内存
        ●库
        ●缺少什么功能

C++学习路径

 

本文的目标?

●有信心的C++程序员
●了解C++的核心设计思想
●掌握C++面向对象的设计思想
●能够看懂,调试,甚至贡献C++开源项目
●为成为C++后端和核心开发人员作准备
●引领你来到C+ +程序设计这条康庄大道上,给你必备的工具和方法,
还有燃起你心中对编程,对计算机,对漂亮、优雅、安全、高效代
码的熊熊烈火!

课程结构
        ●编程的本质
        ●面对对象设计思想
        ●课程结构
        ●课程思想与特色

编程的本质
        寻找算法对应的最基础的代数结构

                                        -------Alexander Stepanov (STL之父)
        ●编程->计算(comput ing)
        ●计算->建模(modeling)
        ●建模->抽象(abstraction) 
        ●抽象->设定范围(context)

在给定的范围内,通过抽象和建模的方式来解决计算问题,就是编程
编程的步骤
        ●IPO 算法模式: Input/Process/ Output
        ●分析
                要解决什么问题
                先决条件,边界条件,
                已知元素等
                例子:飞机起 飞时最大安全重量
        ●设计
                算法和必要步骤
        ●实现
                编写,运行代码
                测试、调试、优化代码等

面向对象的设计思想
        ●抽象层次的提出
        ●抽象数据类型(ADT)
                封装
                数据
                操作
        ●接口和重用
                例子:灯泡,开关,账户等等

主要课程教材

        ● 主要教材: C++编程思想(Thinking in C++)

        ● 辅助教材: C++程序设计语言(C++)

        ● 辅助教材:软件调试的艺术 (GDB调试简要手册)

 如何学好C++?

●实践是检验真理的唯一标准。.
●不断的实践是检验并且掌握真理的唯一标准。
 

熟悉我们的开发环境
必备的软件:
        ●Virtual Box
        ●MobaXTerm (Win),Terminal (Mac/Linux)
●我们的VM (虚拟机)里有啥:
        ●操作系统: Debian 10
        ●编译器: GCC,GI ibc,GDB ,CI ang,LLDB
        ●编辑器: Emacs: He |m,TabN i ne等。
        ●其他: Git,Fish Shell,等
●开源的力量!

恭喜你,你已经准备好踏入C++之旅了。在开始学习C++编程以前,要明白:工欲善其事,必先利其器。所以:你需要先熟悉我们在这门课中要使用的编辑器: Emacs!
熟悉Emacs基本操作:
启动emacs:
wanmen@debian” ~ > emacs&
你会看到这样-一个界面: .
Bscreen Shot 2019- 08- 09 at 1.36.41 PM
现在你需要按下: Control + h t (同时按下Control和h,然后松开再按下t。注意松开和按下间隔不要太长。)
你会进入如下Emacs快速指南: D-Screen Shot 2019-08-09 at 11.38.45 PM