说变量和常量是数据类型的对象在技术上是否正确?

Rak*_*Rak 8 c c++

可以说变量和常量是数据类型的对象吗?

我想知道对此有什么正确的解释

int a;

float f;
Run Code Online (Sandbox Code Playgroud)

在这里,我们可以说a是类型的对象int,并f为类型的对象float

mas*_*oud 12

每款§1.8,都ab是他们的相应类型的对象.

1 对象是存储区域.[注意:函数不是对象,无论它是否以对象的方式占用存储.-end note]一个对象由定义(3.1),new-expression(5.3.4)或实现(12.2)在需要时创建.创建对象时确定对象的属性.对象可以有一个名称(第3条).对象的存储持续时间(3.7)会影响其生命周期(3.8).对象具有类型(3.9). 术语对象类型是指用于创建对象的类型.

[intro.object]

这些变量符合上面引用的定义.


Pet*_*ker 6

a并且f分别是类型int和类型的对象float.是的,这与@Patashu所说的相矛盾,那是因为我们使用了"对象"的不同定义.

@Patashu使用面向对象编程的定义:一个对象是一个有方法等的东西.这非常好.

但是,C++是一种多范式语言 - 它支持多种编程模型.C++语言定义在编译器编写者使用的更广泛意义上使用"对象"一词:对象是存储区域,具有可在该存储上执行的各种操作.操作由对象的类型定义.有一组明确定义的操作可以应用于类型的对象int,所以当你知道你正在与int你打交道时,编译器知道你可以用它做什么,并暗示,你可以做什么事情不管怎样.