可以说变量和常量是数据类型的对象吗?
我想知道对此有什么正确的解释
int a;
float f;
Run Code Online (Sandbox Code Playgroud)
在这里,我们可以说a是类型的对象int,并f为类型的对象float?
mas*_*oud 12
每款§1.8,都a和b是他们的相应类型的对象.
1 对象是存储区域.[注意:函数不是对象,无论它是否以对象的方式占用存储.-end note]一个对象由定义(3.1),new-expression(5.3.4)或实现(12.2)在需要时创建.创建对象时确定对象的属性.对象可以有一个名称(第3条).对象的存储持续时间(3.7)会影响其生命周期(3.8).对象具有类型(3.9). 术语对象类型是指用于创建对象的类型.
[intro.object]
这些变量符合上面引用的定义.
a并且f分别是类型int和类型的对象float.是的,这与@Patashu所说的相矛盾,那是因为我们使用了"对象"的不同定义.
@Patashu使用面向对象编程的定义:一个对象是一个有方法等的东西.这非常好.
但是,C++是一种多范式语言 - 它支持多种编程模型.C++语言定义在编译器编写者使用的更广泛意义上使用"对象"一词:对象是存储区域,具有可在该存储上执行的各种操作.操作由对象的类型定义.有一组明确定义的操作可以应用于类型的对象int,所以当你知道你正在与int你打交道时,编译器知道你可以用它做什么,并暗示,你可以做什么事情不管怎样.