当我在程序中只使用短整数时,最好使用:
void printVars(int x1, int x2, int x3)
或
void printVars(short int x1, short int x2, short int x3)
作为我职能的论据?
提前谢谢。
答案 0 :(得分:3)
如果你100%确定你永远不会使用比short int更大的整数,那么最好使用它,因为它可以节省2个字节(在大多数情况下,在大多数系统上,但不一定)。不使用比你需要的更多的资源确实是一个神的想法 但是,对于mot应用程序来说,差异可能会被忽略。
答案 1 :(得分:0)
如果你只使用short
s那么传递short
函数参数没有任何害处,因为你不会丢失任何东西,但它在内存占用或性能方面不会节省太多完全使用short
s。
答案 2 :(得分:0)
如果你想强调允许的值范围,我更喜欢short int
。这样可以节省空间,并且可以清楚/更好地读取允许值。
int
在表现方面可能会更好,但我不会指望它。
我的建议:如果您确定short int
是具有最佳匹配范围的类型,请使用它。
答案 3 :(得分:0)
我会使用short
,因此您的代码更加一致。如果您希望将来更改类型,最好制作typedef
。只需制作typedef short int Short
并在程序中使用它即可。稍后您可以在一个地方更改Short
类型
答案 4 :(得分:0)
与参数最重要的一点是将您的函数需要作为输入进行通信,并将其作为输出。如果您的函数仅适用于短数范围内的数字,请使用short
作为您的类型。您要问的是,如果允许的数字大于最大值,会发生什么?这是一个错误吗?
传递空头或整体的表现影响可能微不足道或根本不存在。除非出现问题,否则不要担心性能。
答案 5 :(得分:0)
只有在要运行的计算机上运行测试才能真正回答这个问题。
在我的现代英特尔Ubuntu(2017)上,速度差异降低了。将短裤推入堆栈似乎比将ints推入堆栈快1%,大约+/- 1%。
大部分提速将来自将内存减少一半的情况,这将节省那些大数据/神经网络消除程序上的页面交换。