这真的被认为是一个物体吗?来自c++书籍

0 c++

文字图片

要读一些东西,我们需要有地方可以读;也就是说,我们需要在计算机内存中的某个地方来放置我们所读取的内容。我们将这样的“场所”称为对象。对象是一个内存区域,其类型指定可以在其中放置什么类型的信息命名对象称为变量。例如,将字符串放入变量中,将整数放入变量中。您可以将对象视为一个“盒子”,您可以在其中放入该对象类型的值stringint

对象是一个内存区域,其类型指定可以在其中放置什么类型的信息?在这里他们给出了一个整数和字符串的例子,就像内置的数据类型一样,我已经知道一些oop,所以我有点困惑,因为就像我认为一个对象是它自己的独立实体,有自己的用户创建的数据类型?我知道所有对象都有自己的内存区域,但它们基本上都是调用 int 类型的变量,age,值为 42 的对象。它是否正确?

for*_*818 5

这是 C++ 标准[intro.object]中的措辞:

C++ 程序中的构造创建、销毁、引用、访问和操作对象。对象是通过定义、new 表达式 ([expr.new])、隐式创建对象的操作(见下文)、隐式更改联合的活动成员或创建临时对象时创建的([conv.rval],[class.temporary])。对象在其构造期间 ([class.cdtor])、整个生命周期以及销毁期间 ([class.cdtor]) 占用一个存储区域。

关于对象还有更多内容需要阅读,我只是从简介中选择了这一段,这样您就可以看到 C++ 中的术语“对象”比“用户定义类的实例”更通用。请注意,最后一句话与 Bjarne 在书中所写的非常相似。您所指的(类的实例)称为“类对象”。

可以在这里找到对 C++ 中对象的更易读的介绍: https: //en.cppreference.com/w/cpp/language/object

PS:我不是历史学家,但我认为“对象”一词在面向对象出现之前就已经被广泛使用。之前已经有对象了。它们并不是 OOP 发明的,只是成为焦点。另请注意,C++ 不是(纯)OOP 语言,而是多范式。