在 C 中使用 short 是一种不好的做法
Is using short in C a bad practice
我有一个内存敏感项目,它使用 int 来存储图形的密集前置树中的顶点索引。 (您使用例如 Bellman Ford 生成的东西)。我知道一个事实,即我不会拥有超过 10000 个顶点的图形,并且数据类型在创建后是不可变的。
那么在我的情况下替换
是不是一个坏习惯
int predecessors[blah];
和
short predecessors[blah];
如果我的作品被用作图书馆。
避免过早优化。衡量使用 short
而不是 int
的影响,然后根据该信息做出决定。
正如 @HolyBlackCat 所说 - 考虑使用 typedef(或类似的)以便您可以更改基础类型(即 short
到 int
) 如果要求发生变化。
如果您正在使用 short
,请添加健全性检查以避开某些人,有一天在您的库中提供 100.000 个顶点但没有意识到它无法处理这些(直到无声故障变成非常严重的故障)非无声的昂贵设备大声撞到某物)。
明确记录您最多只能处理 X 个顶点。
我有一个内存敏感项目,它使用 int 来存储图形的密集前置树中的顶点索引。 (您使用例如 Bellman Ford 生成的东西)。我知道一个事实,即我不会拥有超过 10000 个顶点的图形,并且数据类型在创建后是不可变的。
那么在我的情况下替换
是不是一个坏习惯int predecessors[blah];
和
short predecessors[blah];
如果我的作品被用作图书馆。
避免过早优化。衡量使用
short
而不是int
的影响,然后根据该信息做出决定。正如 @HolyBlackCat 所说 - 考虑使用 typedef(或类似的)以便您可以更改基础类型(即
short
到int
) 如果要求发生变化。如果您正在使用
short
,请添加健全性检查以避开某些人,有一天在您的库中提供 100.000 个顶点但没有意识到它无法处理这些(直到无声故障变成非常严重的故障)非无声的昂贵设备大声撞到某物)。明确记录您最多只能处理 X 个顶点。