我们正在将一些 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/