在C语言中使用short是一种不好的做法

时间:2018-09-13 13:08:50

标签: c int short

我有一个内存敏感项目,该项目使用int将顶点的索引存储在图形的密集前任树中。 (您使用例如Bellman Ford生成的内容)。对于一个事实,我知道不会有超过10000个顶点的图形,并且一旦创建,数据类型就是不可变的。

在我看来,替换

是一个坏习惯吗?
int predecessors[blah];

short predecessors[blah];

如果我的作品要用作图书馆。

1 个答案:

答案 0 :(得分:5)

  1. 避免过早优化。衡量使用short而非int的影响,然后根据该信息进行决策。

  2. @HolyBlackCat 所述-考虑使用typedef(或类似类型),以便在发生事件时可以更改基础类型(即,将short更改为int)不断变化的需求。

  3. 如果您使用的是short,请添加健全性检查以避免某人,有朝一日在您的库中提供了100.000个顶点,并且没有意识到它无法处理这些问题(直到无声失败变成了非常无声的失败)被昂贵的设备大声撞倒)。

  4. 清晰的文档,您最多只能处理 X 个顶点。