C++语言程序设计 C++语言漫谈 中国科大 黄章进
C++语言漫谈 中国科大 黄章进 C++语言程序设计
主要内容 。C+的前世今生 ●为什么学C+ 。如何学好C+
2 主要内容 C++的前世今生 为什么学C++ 如何学好C++
从B到C oBCPL Basic Combined Programming 的 Language -B语言和C语言的祖先,由剑桥大学的Martin 前 Richards在1964年对CPL语言进行简化得到 世 今 ●美国AT&T的贝尔实验室 生 ●B语言 1970年,肯·汤普森(Ken Thompson)在BCPL语 言的基础上设计
3 从B到C BCPL - Basic Combined Programming Language –B语言和C语言的祖先,由剑桥大学的Martin Richards在1964年对CPL语言进行简化得到 美国AT&T的贝尔实验室 B语言 –1970年,肯·汤普森(Ken Thompson)在BCPL语 言的基础上设计 C++ 的 前 世 今 生
从B到C 军 ·C语言 的 1972年,丹尼斯·里奇(Dennis Ritchie)基于 B语言设计 前 l978年,K&RC:Dennis M.Ritchie和Brian 世 W.Kernighan合著《The C Programming Language》 今 C90标准:IS0/IEC9899-1990 生 C99标准:IS0/IEC9899:1999 2011年12月,IS0正式公布C语言新的国际标准草 案:IS0/IEC9899:2011
4 从B到C C语言 –1972年,丹尼斯·里奇(Dennis Ritchie)基于 B语言设计 –1978年,K&R C: Dennis M.Ritchie和Brian W.Kernighan合著《The C Programming Language》 –C90标准:ISO/IEC 9899-1990 –C99标准:ISO/IEC9899:1999 –2011年12月,ISO正式公布C语言新的国际标准草 案:ISO/IEC 9899:2011 C++ 的 前 世 今 生
从C到C++ o C with Classes 1979年,本贾尼·斯特劳斯特卢普(Bjarne Stroustrup) 的 博士在C语言中加入类似Simula语言的类机制, 1983投入使用,定名C+ 前 ● “拿来主义” 从Simula继承了类的概念 世 从A1go168继承了操作符重载、引用以及在任何地方声明变 量的能力 今 从BCPL获得”/”注释 生 从Ada得到了模板、命名空间 从Ada、CIu和L取来了异常处理等 。C++标准 C+98(IS0/IEC1988-1998),C++03(1S0/IEC14882) 2011年9月1日出版发布C+11(IS0/IEC14882:2011)
5 从C到C++ C with Classes –1979年,本贾尼·斯特劳斯特卢普(Bjarne Stroustrup) 博士在C语言中加入类似Simula语言的类机制, –1983投入使用,定名C++ “拿来主义” –从Simula继承了类的概念 –从Algol68继承了操作符重载、引用以及在任何地方声明变 量的能力 –从BCPL获得”//”注释 –从Ada得到了模板、命名空间 –从Ada、Clu和ML取来了异常处理等 C++标准 –C++98(ISO/IEC 1988-1998), C++03(ISO/IEC 14882) –2011年9月1日出版发布C++11(ISO/IEC 14882:2011) C++ 的 前 世 今 生
Bjarne Stroustrup
Bjarne Stroustrup 6
.NET FrameworkC++/CLI C++ C+/CLI代码 C#代码 其他语言代码 的 编译器 编译器 编译器 前世今生 微软中间语言(MSIL) 公共语言 公共语言运行时(CLR) 结构(CLI) 001010001011101010101 010101000101110101110
7 .NET Framework的C++/CLI C++ 的 前 世 今 生 C++/CLI代码 C#代码 其他语言代码 编译器 编译器 编译器 微软中间语言(MSIL) 公共语言运行时(CLR) 001010001011101010101 010101000101110101110 公共语言 结构(CLI)
C++的五大子语言 C十+ C子语言 路 C++/CLI 面向对象 世今生 的C++ C++ STL 泛型编程 语言
8 C++的五大子语言 C++ 的 前 世 今 生 C++ 面向对象 的C++ C子语言 C++/CLI STL 泛型编程 语言
Why C++? 为 ●内容来自于C+and Beyond2011上 什 的一次公开演讲 么 ●演讲者:Herb Sutter 学 IS0C++委员会的Chair C+/CLI首席架构师 Microsoft的软件架构师 -Exceptional C++C++Coding Standards的作者 10
10 Why C++? 内容来自于C++ and Beyond 2011上 的一次公开演讲 演讲者:Herb Sutter –ISO C++ 委员会的Chair –C++/CLI首席架构师 –Microsoft的软件架构师 –Exceptional C++ 和 C++ Coding Standards 的作者 为 什 么 学C++
性价比 power:driver at all 为 scales-on-die,mobile desktop,datacenter e/W 什么学十 Why C++ size:limits on processor resources erf/1 -desktop,mobile experiences:bigger experiences on smaller hardware; pushing envelope means every cycle matters 电力、资源和体验 11
11 性价比 电力、资源和体验 为什么学C++