c++ - 如何将等效的动态分配嵌套 vector 从 C++ 编写到 Obj-C?

标签 c++ objective-c c porting

我们正在将一些 C++ .h 移植到 Objective C .h 文件。

这是我们尝试为我们的类(class)移植的 C++ 代码示例。

    std::vector< std::vector< int > > D2DMap;
    std::vector< std::vector< int > > D3DMap;

我们还没有成功地在 Obj-C 中声明一个等价物。

    NSMutableArray *D2DMap = [[NSMutableArray alloc] init];
    NSMutableArray *inner = [[NSMutableArray alloc] init];
    [inner addObject:[NSNumber numberWithInt:someInt]];
    [D2DMap addObject:inner];

但我们知道这是错误的,因为它在运行时不是动态的。

最佳答案

您可以使用 Objective-C++。

如果您不想使用 Objective-C++,那您就有点不走运了。 Cocoa 库中没有非动态类型数组。您可以拼凑出一个涉及 malloc 和其他通常令人作呕的东西的解决方案,但我建议不要这样做。

关于c++ - 如何将等效的动态分配嵌套 vector 从 C++ 编写到 Obj-C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28142916/

相关文章:

c++ - 在 TensorFlow 上创建优化器的步骤

ios - 关闭变量不释放

objective-c - Objective-C 中的加权随机字母

C printf 格式字符串

c++ - 在 C++ 中显示为 "expression must have integral or enum type"的错误消息

c++ - CUDA:复数标量 * 双稀疏矩阵 * 双 vector

c++ - 字符串下标超出范围。字符串大小未知,循环字符串直到 null

ios - 在 didSelectRowAtIndexPath Parse.com 中选择收件人时 PFUser objectId 错误

c - 在 C 中制作一个 makefile

c - 从 TCP 设备对象读取