在多个程序上花费了很长时间后,我发现,根据平台的不同,我有时需要大幅降低 RAM 使用率,因为某些平台上的资源非常有限。我通常根据这些类型存储大型映射和矩阵,因此从 int32 切换到 int16 或从 float 切换到 double(如果它们实际上具有不同的大小)很容易将我的使用量减少了近一半。因此,我刚刚添加了这样的重新定义:
typedef double Float;
typedef int32_t Int;
typedef uint32_t UInt;
这使我可以快速调整程序中所有重要的原始类型。请注意,我在程序中的整数实际上都没有超过 2 字节整数的大小,因此使用 int16 到 int64 中的任何一个都没有问题。
此外,在那里有一个漂亮的“Int”而不是“uint32_t”似乎更具可读性。在某些情况下,我观察到通过减少和增加原始类型的大小来改变性能。
我的问题是:有什么我只是想念的缺点吗?我还没有在 SO 上找到关于这个主题的任何信息,所以如果我也错过了,请带我去那里。该代码主要是为我准备的,其他人可能会看到它,但在任何情况下,它都会由我亲自提供或带有适当的文档。
编辑:对不起过去的错误,我确实使用 typedefs。