C++ 什么';这是GCC的原因';s—C和C之间的转换差异++;?

C++ 什么';这是GCC的原因';s—C和C之间的转换差异++;?,c++,c,gcc,C++,C,Gcc,GCC有一个选项,-Wconversion,它启用转换警告: 警告可能改变值的隐式转换。[……] 但是,在符号转换时,C和C++之间的行为不同: 关于C++中的符号和无符号整数转换的警告在C++中被禁用,除非“代码> -WSCORE转换< /CODE”被显式启用。 这是什么原因?C和C++在某种程度上与符号/非符号转换有区别,这使得C中的更危险吗?或者还有其他原因吗?@rsp:这不是一个正确的解释。有很多共同点。“C和C++在符号/非符号转换方面有相同的区别,这使得它在C中更危险”,“我不认为这

GCC有一个选项,
-Wconversion
,它启用转换警告:

警告可能改变值的隐式转换。[……]

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

<>关于C++中的符号和无符号整数转换的警告在C++中被禁用,除非“代码> -WSCORE转换< /CODE”被显式启用。


这是什么原因?C和C++在某种程度上与符号/非符号转换有区别,这使得C中的更危险吗?或者还有其他原因吗?

@rsp:这不是一个正确的解释。有很多共同点。“C和C++在符号/非符号转换方面有相同的区别,这使得它在C中更危险”,“我不认为这与语言的差异有关,只是GCC开发人员+C和C的任意决定对序列点有不同的规则。你应该ping gcc dev.@Stargateur:为什么你认为序列点是相关的?这似乎是一个非常奇怪的连接。@ MalSalts只是一个想法,但是如果序列点不同,也许在C++中,转换有时更安全。