C++ 将按位移位运算符应用于有符号类型:UB和Impl。定义

C++ 将按位移位运算符应用于有符号类型:UB和Impl。定义,c++,bit-shift,C++,Bit Shift,C++03标准告诉我们,对有符号类型应用位移位运算符的结果可以是UB和Impl。为负值定义。我的问题如下:为什么对于操作员它只是实现定义的?根据5.8/2(在C++ 98中,我可以访问的), > P>的结果是否有严格的原因: E1的值是的,似乎我误解了这一点,认为这只是为没有符号类型和负值的情况定义的啊,现在知道了,它在C中没有定义,我偶然看了一下ISO C99(6.5.7/4):)谢谢解释。

C++03标准告诉我们,对有符号类型应用位移位运算符的结果可以是UB和Impl。为负值定义。我的问题如下:为什么对于操作员
它只是实现定义的?根据5.8/2(在C++ 98中,我可以访问的),<代码> > P>的结果是否有严格的原因:


E1的值是的,似乎我误解了这一点,认为这只是为没有符号类型和负值的情况定义的啊,现在知道了,它在C中没有定义,我偶然看了一下ISO C99(6.5.7/4):)谢谢解释。