【发布时间】:2021-05-21 04:02:34
【问题描述】:
在 C11 的最新草案之一 ([C11_N1570]) 中,我找不到以下陈述的证明(我相信这些陈述是众所周知的),见下文。任何人都可以向我推荐证明以下句子的 C 标准的特定部分吗? (如果我错了,请纠正我)
类型 short 与 signed short 相同(TODO:链接)。
类型[[un]signed] short 与对应的[[un]signed] short int 相同(TODO: 链接)。
类型int 与signed int 相同(TODO:链接)。
类型 long 与 long int 相同(TODO:链接)。
类型[[un]signed] long 与对应的[[un]signed] long int 相同(TODO:链接)。
类型 long long 与 long long int 相同(TODO:链接)。
类型[[un]signed] long long 与对应的[[un]signed] long long int 相同(TODO: 链接)。
理想情况下,我更愿意为 C 和 C++ 回答这个问题,现在我对 C 很感兴趣。
【问题讨论】:
-
虽然 C 和 C++ 有很多共同的特性,但它们是两种不同的语言。您特别关注哪些标准?
-
然后您开始谈论 C++,显然 C 标准对它绝对没有意见。请不要将两者混为一谈。
-
对于 C++,您可以在标准草案中看到 this table
-
回答问题,见6.2.5/4括号内的句子指的是6.7.2/2
-
@RobinKuzmin 我建议删除最后一句话(提到 C++ 的那个)并删除
c++标签。就目前而言,您似乎在同时提出两个问题。由于 C 和 C++ 标准是分开的、独立的文档,因此不应试图在一个 SO 问题中同时涵盖两者。
标签: c++ c language-lawyer c11