CBHMemoryKit
一个用于管理和操作内存的安全且易于使用的接口。
使用
CBHMemoryKit
提供用于管理和操作内存的更安全的 C 函数。
示例
分配 10 个 NSUInteger
的切片
NSUInteger *slice = CBHMemory_alloc(10, sizeof(NSUInteger));
分配每个值设置为 0 的 10 个 NSUInteger
的切片
NSUInteger *slice = CBHMemory_calloc(10, sizeof(NSUInteger));
将 10 个 NSUInteger
的切片重新分配为 20
NSUInteger *slice = CBHMemory_alloc(10, sizeof(NSUInteger));
slice = CBHMemory_realloc(slice, 20, sizeof(NSUInteger));
将 10 个 NSUInteger
的切片重新分配为 20 且每个新值设置为 0
NSUInteger *slice = CBHMemory_calloc(10, sizeof(NSUInteger));
slice = CBHMemory_recalloc(slice, 20, sizeof(NSUInteger));
交换字节
NSUInteger *slice = {4, 5, 6, 7, 0, 1, 2, 3};
CBHMemory_swapBytes(slice[0], slice[4], 4, sizeof(NSUInteger));
// slice = {0, 1, 2, 3, 4, 5, 6, 7}
释放堆分配的内存
NSUInteger *slice = CBHMemory_calloc(10, sizeof(NSUInteger));
// Do some work...
CBHMemory_free(slice);
// slice = NULL
为什么?
溢出
这些函数在发生溢出时失败。
内存使用后释放
内存使用后释放错误很常见。CBHMemory_free()
通过为您将指针设置为NULL来帮助避免这些问题。
许可
CBHMemoryKit采用ISC许可。