非指针types的C ++向量是否会在iOS中导致内存泄漏?

代码如下:

@interface myClass { std::vector<float> myVector } @end 

根据仪器泄漏。 这是堆栈跟踪:

 1 libstdc++.6.dylib operator new(unsigned long) 2 __gnu_cxx::new_allocator<float>::allocate(unsigned long, void const*) 3 std::_Vector_base<float, std::allocator<float> >::_M_allocate(unsigned long) 

我猜我应该在堆上分配vector,但我仍然不明白为什么会出现这种情况。 也有可能我没有正确地释放课程。

检查你的类的dealloc是否被调用。 这似乎是在这种情况下可以调用泄漏的一种方式。 只有一个问题:为什么不使用本地的Objective-C容器? 你需要将你的浮点数存储在NSNumbers中,但是你可以使用标准的保留/释放内存pipe理模型来处理你的所有实例。