为什么void的分类与其他基本类型不同?

问题描述 投票:0回答:1

cppreference.com 他们将类型分类为:

  1. 空类型
  2. 基本类型
  3. 枚举类型
  4. 派生类型

我找不到他们将

void
归类为基本类型的原因。这意味着int
char
基本
类型与
void
类型之间存在差异。根据是否存储值,它们明显不同:从概念上讲,
void
类型表示不存储任何值的对象,但基本类型的对象确实存储值。

我认为每个分类都应该有一个单一且明确的基础。但在这里,我觉得没有单一的依据。

在我看来,他们可以根据是否衍生来对它们进行分类:

  1. 基本类型(还包括
    void
  2. 派生类型(使用基本类型派生的类型。还包括
    enum
    类型)

这里,我将

void
归类为basic类型,因为它是标准中定义的标准类型之一,不依赖于任何其他类型。我将
enum
类型分类为派生类型,因为我认为
enum
类型代表
int
类型的值,因此得出结论:
enum
类型是(隐式)从
int
类型派生的。

分类依据是什么?我的分类有意义吗?

c types enums void
1个回答
0
投票

这意味着像 int、 char 等,以及 void 类型。

void 与其他类型有何不同:

  • void
    根据定义是不完整的。
  • 你不能声明类型的变量
    void
  • 你不能有
    void
    结构或联合成员
  • 你不能有一个由
    void
    元素组成的数组
  • 你不能对
    void
    指针进行指针算术
  • 你不能取消引用 void
    pointers

我错过了什么吗?

© www.soinside.com 2019 - 2024. All rights reserved.