c++ - C 和 C++ 中内置数据类型的类型是什么?

标签 c++ c types built-in-types

当我们写int a;时,并不意味着我们正在创建一个类int的对象。

  1. 这是什么意思?
  2. C 和 C++ 中的数据类型 int 是什么类型?
  3. 哪个头文件显示了它是什么?

最佳答案

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/

相关文章:

scala - 没有给出变量时如何确定其类型?

c++ - 为什么在这段代码中隐式类型转换的结果不正确?

javascript - 如何在运行时在 JavaScript 中生成类型检查?

c++ - Windows 上的 DLL Main 对比。 __attribute__((constructor)) Linux 上的入口点

C++ SFML 2.1 冲突

c - 将 time_t 设置为毫秒

c - 如何取消映射使用 remap_pfn_range() 映射的内存

c++ - valgrind 在主机名命令输出中显示内存泄漏

c++ - 是否可以根据类型是整数类型还是浮点类型来重载模板函数?

c - 代码如何计算平方?