当我们写int a;
时,并不意味着我们正在创建一个类int的对象。
- 这是什么意思?
- C 和 C++ 中的数据类型 int 是什么类型?
- 哪个头文件显示了它是什么?
最佳答案
When we write
int a;
, it doesn't mean that we are creating an object of class int.
int a;
确实在 C++ 中创建了一个对象。它是 int
类型的对象如果具有自动存储期限,则具有不确定的值(value);或值为 0
, 如果它有静态存储持续时间。但是没有“类int
”因为int
不是类类型。
int
是一个:
- 整体型;
- 签名类型;
- 算术类;
- 基本类型;
- 标量类型;
- 标准布局类型;
- 普通可复制类型;
- POD类型;
- 普通类型;
看来您对上一个问题有点困惑:)
在int x = 12;
,您正在创建类型为 int
的对象名为 x
并且值为 12。
C++ 中对象 的概念与大多数其他语言中的不同,而且肯定与面向对象编程 圈子中常用的概念不同. C++ 中的对象是一个存储区域。
如果某物有类型,它要么是对象、引用,要么是函数。
Which header file shows what it is?
该语言仅要求类型 int
必须存在并具有某些特征(例如不可或缺和具有标志)。我所知道的所有编译器都只对所有内置类型进行特殊处理,这就是为什么您不会在标准库头文件中找到它们的定义。事实上,它们无法使用 C++ 在任何 header 中为它们提供定义,因为该语言不提供任何定义基本类型的方法。他们只能:
- 将其定义为复合类型(这是错误的);或
- 使用特定于编译器的扩展来定义它。
内置类型实际上很神奇。
关于c++ - C 和 C++ 中内置数据类型的类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8574635/