2011-09-27 59 views
1

如果我只有在1 & 10号是矫枉过正声明为int,或者你应该使用shortLongsbyte是多么重要声明正确的变量类型

int x = 5;sbyte x = 5;

+0

没有矫枉过正。有时过度优化会更糟糕。 –

+0

看看http://stackoverflow.com/questions/129023/net-integer-vs-int16 – Ray

+0

不成熟的优化是所有邪恶的根源 - Donald Knuth – Joe

回答

0

没有更多的方面,我要说的只是使用int。当你有空间限制或过度复杂化你想要做的事情时,过度杀伤只会很重要。

0

不是真的,除非您正在绑定从您的应用程序中获得极小的性能和内存占用量。

但是我会建议使用正确的类型,如果不是为了可读性的目的,并且如果值增加超过它的分配类型大小,那么这个潜在的错误将在编译时被捕获。

2

int在32位处理器上处理得更快,因为它的大小等于CPU寄存器大小。如果您没有其他要求(例如需要节省内存),请使用int

0

叫一只狗和一个推销员的推销员。用正确的类型声明变量对于代码的可读性和准确性至关重要。

现在,举个例子,如果你确定它只有一到十个,你可以使用sByte。但是,我会使用int。只要有可能,我们不应该过分复杂。

此外,还有@ElRonnoco注意到,如果您计划执行计算,则在处理小数值类型时可能会出现溢出错误,因此大多数情况下应该坚持使用int

+0

我不会同意这一点。正如其他人所说的那样,“int”的访问效率更高。另外 - 也许在某些时候你可能想要处理这些值(例如取平均值)。总结它们可能会导致溢出问题,需要额外铸造等等。 –

+1

你说得对。我已经在你的评论前更新了我的答案:) –

+0

Soreeeeeeeee :) –

0

代码的简单性是长期可维护性的一个重要特性。除非优化非常重要,例如在超高速应用(即时反应很重要的游戏)中,不要浪费时间担心几个字节,这会让下一个人更难理解。

0

如有疑问,请勿优化。在代码基础的早期阶段进行优化通常是一个坏主意,会导致抽象泄漏,代码库的多功能性不佳以及难以调试问题。坚持使用类型系统中最常用的类型,并且每当发现类型只需要为shortuint时,您随时都可以更改类型。

比起其他方式,在你有一个与第三方系统集成的工作代码库之前,更容易开始扩展和缩小类型,因此不可能准确知道代码边界在哪里需要被画下来。