c - 如何为这种数据类型创建一个可变的 C 数组?

标签 c objective-c arrays

我的 Objective-C 类中有这个实例变量:

ALuint source;

我需要一个可变的 OpenAL 源数组,因此在这种情况下我可能需要一个可变的 C 数组。

但是我该如何创建一个呢?对此有很多问题:

1) 如何创建可变的 C 数组?

2) 如何向可变 C 数组添加内容?

3) 如何从可变 C 数组中删除某些内容?

4) 我必须注意哪些内存管理陷阱?我必须在我的 -dealloc 方法中 free() 它吗?

最佳答案

我会让事情变得简单。 ALuint 是某种 int,因此您可以轻松地使用 NSNumber 包装它并将其粘贴到普通的 NSMutableArray 中>:

ALuint bar = …;
NSMutableArray *foo = [NSMutableArray array];
[foo addObject:[NSNumber numberWithInt:bar]];

// and later
ALuint source = [[foo lastObject] intValue];

关于c - 如何为这种数据类型创建一个可变的 C 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2768419/

相关文章:

c - 逐行散列文件

c - 函数指针和函数由于参数不兼容

ios - 旋转到横向时,Google Maps SDK for iOS 问题

iphone - 如何从我的应用程序访问 "Manage Subscriptions"

ios - 尝试在我的应用程序中打开苹果 map 应用程序时发送到实例的无法识别的选择器

python , NumPy ;如何最好地处理可能的 0d 数组

c++ - 使用 Eclipse-CDT

c - 强制 MPI_Send 使用 eager 或 rendezvouz 协议(protocol)

ios - 在数组上使用 NSUserDefaults

arrays - 如何统计mongodb中数组元素出现的次数?