gpt4 book ai didi

ios - 非指针类型的 C++ 向量会导致 iOS 中的内存泄漏吗?

转载 作者:行者123 更新时间:2023-11-28 19:18:20 28 4
gpt4 key购买 nike

代码如下:

@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)

我猜我应该在堆上分配向量,但我仍然不明白为什么会这样。也有可能我未能正确释放类。

最佳答案

检查你的类的 dealloc 是否被调用。在这种情况下,这似乎是可以调用泄漏的一种方法。只有一个问题:你为什么不使用原生的 objective-c 容器?您很需要将 float 存储在 NSNumbers 中,但您将能够对所有实例使用标准的保留/释放内存管理模型。

关于ios - 非指针类型的 C++ 向量会导致 iOS 中的内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10869238/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com