代码之家  ›  专栏  ›  技术社区  ›  geza

GCC的C转换和C++转换差异的原因是什么?

  •  4
  • geza  · 技术社区  · 6 年前

    GCC有一个选择, -Wconversion ,这将启用转换警告:

    对可能更改值的隐式转换发出警告。[...]

    但是,在符号转换时,C和C++之间的行为不同:

    在C++中默认情况下禁用关于符号和无符号整数之间的转换的警告。 -Wsign-conversion 已显式启用。

    这是什么原因?C和C++在某种程度上不同于签名/无符号转换,这使得它在C中更危险吗?或者有其他原因吗?

    0 回复  |  直到 6 年前