我正在寻找主流操作系统中类似于
malloc
/free
的API,允许我在分配和释放内存时指定显式大小。我希望通过这样做,运行时可以在程序中已知分配大小的情况下减少内存占用。例如,在Windows中,我只发现了free()
、_aligned_free()
和_freea()
,它们都不接受第二个表示大小的参数。
std::vector
的大小是已知的,任何多态对象的大小也是已知的,任何具有非平凡析构函数的对象数组的大小也是已知的。可惜的是,我们大部分时间都会重复存储大小信息(或者我们不会将这些信息提供给分配器,以便它更快)。 - geza