为什么C++语言中没有这样的无符号类型关键字?

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

C++ 语言具有以下有符号类型:

char
short
int
long
long long

为什么C++语言中没有这样的无符号类型关键字?

uchar
ushort
uint
ulong
ullong

更具体地说,如果有类似关键字的提案,为什么他们决定不推进这个想法?

c++ keyword
2个回答
2
投票

为什么 C++ 语言中没有这样的无符号类型关键字?

没有人写过一篇令人信服的论文来描述为什么我们需要这些类型。


1
投票

他们确实做到了。它们本身不是关键字,但该语言指定了一个标准库,并且其头文件(

stdint.h
cstdint
)提供了许多完全指定整数大小和符号的类型。

  • int8_t
  • uint8_t
  • int32_t
  • uint64_t

等等。 (包括一些更奇怪的东西,比如“至少 16 位有符号整数”,我个人从未发现它们有什么用处……但我的大部分代码都是为特定平台编写的,并且不会转向不同的平台。)

奇怪的是,他们遗漏了 float16_t、float32_t 等内容。

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