繁体   English   中英

省略数据类型(例如“ unsigned”而不是“ unsigned int”)

[英]Omitting the datatype (e.g. “unsigned” instead of “unsigned int”)

我知道如果在C / C ++代码中以这种方式省略数据类型声明: unsigned test=5; ,编译器会自动将此变量设为int(在这种情况下为unsigned int)。 我听说这是C标准,它将在所有编译器中正常工作。

但是我也听说这样做是一种不好的做法。

你怎么看? 我应该真的输入unsigned int而不是unsigned吗?

shortlonglong long也是数据类型吗?

unsigned 是数据类型 碰巧是unsigned int别名。

当您编写unsigned x; 不会忽略任何数据类型。

这与C(但C ++中没有)中的“ default int ”完全不同,在C中您实际上省略了声明中的类型,C会自动推断出该类型为int

至于样式,我个人更喜欢露骨,因此写unsigned int 另一方面,我目前正在使用一个库,习惯上只写unsigned ,所以我改为这样做。

我什至更进一步,并使用stdint的uint32_t类型。
这可能是一个问题,但是我宁愿知道我正在使用什么原始语言,而不是出于对每个平台进行优化的古老考虑。

正如@Konrad Rudolph所说, unsigned 数据类型。 它实际上只是unsigned int的别名。

至于使用unsigned的问题是不好的做法? 我会说不,使用unsigned作为数据类型说明符没有任何问题。 在我看来,专业人士不会为此而烦恼,任何说您必须使用unsigned int编码标准都是不必要的严厉。

无谓的冗长被认为是有害的。 我永远不会写unsigned intlong int或任何signedchar或bitfield除外),因为它会增加混乱并减少可容纳80列的有意义代码的数量。 (或更可能的是,鼓励人们编写不适合80列的代码...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM