1994年「C++之父」亲授的入门课程《C++的设计》【看者必变强】
比雅尼·斯特劳斯特鲁普(丹麦语:Bjarne Stroustrup,,1950年12月30日—),生于丹麦奥胡斯县,计算机科学家。
他以创造C++编程语言而闻名,被称为“C++之父”。
用斯特劳斯特鲁普他本人的话来说:
发明了C++,写下了它的早期定义并做出了首个实现……选择制定了C++的设计标准,设计了C++主要的辅助支持环境,而且负责处理C++标准委员会的扩展提案。
他还写了一本《C++程序设计语言》,它被许多人认为是C++的范本经典,目前是第四版(于2013年5月19日出版),最新版中囊括了C++11所引进的一些新特性。
在线学习:
https://www.bilibili.com/video/BV1oC4y1N7Pu
00:01 C++入门介绍
02:11 C++的发展历程
04:05 强类型检查对我的帮助
作者在编程语言发展中的经历,包括他对语言的特性、编程组织和设计的思考。
06:57 设计思想和目标:BCPL和SEE的优点和缺点,以及作者对语言设计思想和目标的理解。
08:53 C++的特点:C++相较于其他语言的优点和特点。
11:08 类型检查和类:C++中的类型检查和类的使用。
作者在设计C++语言时所遵循的一些原则,以及该语言的特点和优势。
13:53 自由度和创新:C++的设计没有太多限制,这促进了创新和自由度。
14:30 可维护性和流行度:C++的设计注重可维护性,但流行度成为维持发展的难题。
18:01 特点和优势:C++具有很多特点和优势,如简单性、可移植性、内存管理等。
未来教育和编程语言的发展,以及设计C++时所做的决策,包括使用传统链接器和不提供兼容性。
20:11 C++的开发过程和设计原则。
21:24 C++的限制和继承问题。
24:30 C++作为更好的C和面向对象编程语言。
面向对象编程与数据抽象的概念,以及如何设计和编程过程中的应用。
26:13 抽象化的概念:将程序设计过程分为两个部分,先设计一组抽象的概念,再用编程语言实现。
27:23 数据抽象:在程序设计中,将数据抽象化可以简化代码,提高程序的可读性和可维护性。
30:28 封装:将数据和操作封装在一起,形成一个模块,可以保护内部数据,并提供一致的接口。
面向对象编程的概念和技巧,以及如何定义用户类型来满足程序需求。
31:39 面向对象编程的概念和技术。
35:04 复杂数类型的定义和表示。
36:15 复数的表示和内存布局。
如何使用复杂变量进行数学计算,以及如何编写可读性强的代码。
37:41 复杂变量的代码编写:在C++中使用复杂变量时,需要遵循特定的规范,使得代码易于阅读。
40:02 复杂数字的处理:C++可以高效处理复杂数字,并可以与其他编程语言和库进行交互。
41:45 效率和兼容性:在编写代码时,需要考虑效率和兼容性,以确保程序的稳定性和可维护性。
如何使用抽象类型和接口来分离数据的接口和实现,并给出了具体的实现示例。
43:17 抽象类型的概念和使用。
44:32 编程语言中的set数据结构。
47:27 编程中使用set和vector的示例。
使用模板类和抽象类实现数据抽象的方法,以及静态类型检查的作用和优缺点。
49:09 使用模板类和堆栈的数据类型。
51:40 动态类型检查和语言特性。
52:39 调试过程中的错误查找
如何使用C++中的类层次结构来表示不同类型之间的关系,并通过动态类型查询来进行类型检查。
53:43 利用抽象类和继承构建形状层次结构。
57:30 运行时类型查询的重要性。
58:50 利用指针和动态类型变量进行编程
类和驱动类的概念,以及名称空间和异常处理机制在大型软件系统中的应用。
59:41 类和命名空间支持。
01:01:13 命名空间的作用和使用方法。
01:04:40 机制和策略的差异
C++语言的特点和发展历程,以及它在全球范围内的应用和用户数量。
01:06:11 异常处理和错误处理。
01:09:43 C++的成功和用户数量增长。
01:10:19 C++17的新特性
C++语言的标准化历程和未来挑战,以及该语言在系统编程和科学工程应用方面的优势。
01:11:36 C++标准化的难度和挑战。
01:12:12 C++语言的适用性和优势。
01:13:22 C++在混合应用领域中的优势和未来发展。
Bjarne Stroustrup 描述了 C++ 的起源、目标和设计规则,然后介绍了关键语言特性及其支持的编程技术。
最后,他讨论了 C++ 的当前用途、标准化工作以及未来可能的用途。
自始至终,他都在强调**** Hidden Message *****
Stroustrup 解释了最直接支持数据抽象、面向对象编程以及大型系统设计和使用的语言特点:
类、抽象类、模板、类层次结构、运行时类型信息、命名空间和模板
鱼C课程:
https://www.bilibili.com/video/BV1Ps411w73m see see
页:
[1]