c++ - sizeof(unsigned char) 也保证为 1 吗?

标签 c++ sizeof

<分区>

我认为标题是不言自明的,但为了更好的格式。

sizeof(unsigned char) 也保证为 1 吗?


我不认为这个问题是重复的,因为:

  • C 与 C++ 不同(标签摘录:...它最初被设计为 C 的扩展,并保持相似的语法,但现在是一种完全不同的语言...)。
  • char 可以是有符号的或无符号的。没有理由假设 sizeof(unsigned char) == sizeof(char) 除非您得到标准的保证,因此才有问题。
  • 即使您将 C 与 C++ 混淆,答案也不会重叠。

最佳答案

是的。

[expr.sizeof]/1:

sizeof(char), sizeof(signed char) and sizeof(unsigned char) are 1.

此外,[basic.fundamental]/1:

A char, a signed char, and an unsigned char occupy the same amount of storage and have the same alignment requirements

关于c++ - sizeof(unsigned char) 也保证为 1 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27464867/

相关文章:

c++ - Visual Studio 2010 C++ 编译器为类分配了错误的大小

c - 我们如何找到以下 C 程序的输出?

c - 两个结构的大小相同,尽管其中一个结构中有一个结构实例

c++ - 为每个查询初始化到 MYSQL 的连接有多糟糕?

c++ - 为什么我的 lambda 函数没有被执行?

c - 在函数上使用 sizeof 的输出

c sizeof() 导致溢出?

c++ - 为什么唯一的有符号整数类型会导致clang中的溢出警告

c++ - 使用 GNU 科学图书馆寻找矩阵的内核

c++ - 计算两个描述符之间的距离