我想知道,如果有任何副作用,定义 uint
.
typedef unsigned int uint;
负面的影响是风格上的,即自制类型会让你的代码变得不可读。没有人知道什么是"uint
"是,所以使用这种自制类型的做法比使用 unsigned int
.
与此相反,你应该使用标准化的整数类型,从 stdint.h
.
阅读这样的代码是很痛苦的。
如果你想省去一些打字的时间,那就使用 unsigned
. 这是一个简写的 unsigned int
并且是标准C,标准C是可读C。
如果您试图对积分类型的尺寸和范围进行标准化,那么请使用在 <stdint.h>
而不是。
你可能会想定义 uint
作为 typedef unsigned int uint;
要有类型 unsigned int
由于各种原因,用一个字来定义。
<stdint.h>
皆用 int
和 uint
的有符号和无符号类型(如 int8_t
和 uint8_t
).unsigned
将符合这一需要,但 ulong
仍然是有用的。我可以看到这些潜在的问题。
uint
是应该的,或者可能想知道是否 uint
被定义为意想不到的东西。另外,如果你是一个时间旅行者,可以在1974年末的某个时候到Dennis Ritchie在Murray Hill的办公室去看看,当时C语言的描述是这样的。C参考手册,之前 unsigned
甚至被发明并建议 uint
作为另一种选择,我相信肯-汤姆森会支持你 我相信Ken Thomson会支持你。同时也告诉Stu Feldman避免使用TABs:)