C++ 我需要施放未签名字符吗?

C++ 我需要施放未签名字符吗?,c++,windows,casting,C++,Windows,Casting,我正在使用 unsigned char ucONE = (unsigned char)1; 作为一个全局变量 这是必要的吗?否,整数类型(包括3种类型char、unsigned char和signed char)可以隐式相互转换。然而,由于这种行为可能并不总是有意的,一些编译器会发出警告,并且一些代码约定要求强制转换使转换显式 无论如何,如果你抛出,你应该更喜欢C++的CAST运算符,因为它们更有限,因此更安全。在您的情况下,这可能是static\u cast 正如其他人已经暗示的那样,全局变

我正在使用

unsigned char ucONE = (unsigned char)1;
作为一个全局变量

这是必要的吗?

否,整数类型(包括3种类型
char
unsigned char
signed char
)可以隐式相互转换。然而,由于这种行为可能并不总是有意的,一些编译器会发出警告,并且一些代码约定要求强制转换使转换显式

无论如何,如果你抛出,你应该更喜欢C++的CAST运算符,因为它们更有限,因此更安全。在您的情况下,这可能是
static\u cast

正如其他人已经暗示的那样,全局变量并不总是最佳做法,而名为“一”且值为1的变量(非常量)有点可疑,但如果不了解您的设计,就很难判断这些选择是否合适

否,整数类型(包括3种类型
char
无符号char
有符号char
)可以隐式相互转换。然而,由于这种行为可能并不总是有意的,一些编译器会发出警告,并且一些代码约定要求强制转换使转换显式

无论如何,如果你抛出,你应该更喜欢C++的CAST运算符,因为它们更有限,因此更安全。在您的情况下,这可能是
static\u cast


正如其他人已经暗示的那样,全局变量并不总是最佳做法,而名为“一”且值为1的变量(非常量)有点可疑,但如果不了解您的设计,就很难判断这些选择是否合适

你用它干什么?如果您共享使用它的代码,我们可以告诉您是否有必要,这不是全局变量的正确命名约定。您需要在声明前面加上一个
/
,根据.BTW,这是一个C样式转换;对于C++,如果需要的话,你应该使用<代码> StasyType(1)< /代码>。但是,你用它干什么?如果您共享使用它的代码,我们可以告诉您是否有必要,这不是全局变量的正确命名约定。您需要在声明前面加上一个
/
,根据.BTW,这是一个C样式转换;对于C++,如果需要的话,你应该使用<代码> StasyType(1)< /代码>。然而。