《c++语言的设计和演化》笔记(一)

本文是《C++语言的设计和演化》笔记的第一部分,探讨了C++中的类机制,包括new和delete运算符在内存管理中的作用。接着,介绍了C++的this指针及其起源。最后,阐述了C语言成为C++基础的一级优点,如灵活性、高效性、可用性和可移植性,以及如何通过接近机器和问题的双重设计理念来创建C++。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

The Design and Evolution of C++

2.3 类

1.“既然C++里的class意味着用户定义类型,为什么我不直接称它为type呢?选择用class这个词的基本原因是我不想发明新术语。”(p.27)
2.“像C语言中一样,对象的分配可以有3种方式:在堆栈上(作为自动对象),在固定地址(静态对象),或者在自由存储区(在堆,或者说是动态存储区)。与C语言不同的是,C with Classes 为自由存储的分配和释放提供了特定的运算符new和delete。”(p.27)
[注释1]new 和 delete现在仍然是c++自由存储的分配和释放运算符

2.5 连接模型

1.“C++的this指针是Simula里THIS引用的翻版。有时人们会问这个问题:为什么this是一个指针而不是一个引用?为什么它被称为this而不是self?当this被引进C with Classes时,在这个语言中还根本没有引用机制。对于后一个问题,C++是从Simula而不是从Smalltalk那里借用的术语。”(p.34)

2.7 为什么是C

1.C的一级优点:
[1] C是很灵活的:可以把C用到几乎所有的应用领域,可以在C中使用几乎所以后的程序设计技术。这个语言没有什么内在限制,不排斥在其中写出任何特殊种类的程序。
[2] C是高效的:C的语义是‘低级的’,也就是说,C语言的基本概念直接反映了传统计算机的基本概念。因此,如果想让一个编译器和/或一个程序员去有效地使用硬件资源,使用C语言相对来说更容易一些。
[3] C是可用的:有了一台计算机,无论是最小的微型机还是最大的超级计算机,情况都一样,即那里有可用的、具有可接收质量的C 编译器,而且这个编译器能支持比较完全(可以接受)的C语言和库,并基本上符合标准。还有一些可以用的库和工具,这就程序员不需要从零去设计一个新系统。
[4] C是可移植的</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值