如果我的号码只在1&之间10是否过度使用声明为int
或者您应该使用short
,Long
,sbyte
?
int x = 5;
或sbyte x = 5;
答案 0 :(得分:2)
int
在32位处理器上处理得更快,因为它的大小等于CPU寄存器大小。如果您没有其他要求(例如,需要节省内存),请使用int
。
答案 1 :(得分:0)
如果没有更多的上下文,我会说只使用一个int。只有当你有空间限制或过度复杂化你想要做的事情时,矫枉过正才有意义。
答案 2 :(得分:0)
除非你想要从你的应用程序中获得极少量的性能和内存占用,否则不是真的。
但是我建议使用正确的类型,如果不是为了可读性目的,并且如果值增加到它的分配类型大小之上,那么这个潜在的bug将在编译时被捕获。
答案 3 :(得分:0)
称狗为狗,推销员为推销员。以正确的类型声明变量是代码可读性和准确性的基础。
现在,对于您的示例,如果您确定只有1到10,则可以使用sByte
。但是,我会使用int
。我们不应该过度复杂化。
另外,正如@ElRonnoco所注意到的那样,如果您计划执行计算,在处理小数字类型时可能会出现溢出错误,因此您应该坚持使用int
来处理大多数事情。
答案 4 :(得分:0)
代码的简单性是长期可维护性的重要特征。除非优化是非常重要的,例如在超高速应用程序(即时反应至关重要的游戏)中,不要浪费时间担心几个字节会让下一个人更难理解。
答案 5 :(得分:0)
如有疑问,请勿优化。在代码库的早期阶段进行优化通常是一个坏主意,并导致抽象泄漏,代码库的多功能性和难以调试的问题。坚持使用类型系统中最常见的类型,只要您发现类型只需要short
或uint
,您就可以随时更改类型。
比起其他方式更容易开始扩大和缩小类型,在您拥有与第三方系统集成的工作代码库之前,不可能确切知道代码中的边界需要在哪里绘制。