您的位置:首页 > 编程语言 > C语言/C++

C++内存管理

2015-12-03 13:26 239 查看
基本原则: 使用完内存就要释放内存

分配: new 关键字 分配一块内存,然后可以用一个指针指向这块的内存(早期使用 malloc 来进行内存分配,但是C++里面不太建议了)

释放:delete关键字 释放内存。当你释放的是一片连续的区域的时候使用的是:delete [ ]指针变量。(相应的你如果使用的是malloc分配内存的话,那就要用free释放掉了)

opencv是否需要释放内存?

当你使用Mat 这些数据结构的时候不需要,因为它在里面已经做了内存管理。 如果你使用比较旧的数据结构 IpImage*  CvMat 这些的话需要相应的释放内存。

x86 使用问题: 当你按照上述规则进行内存管理了还是出问题:Microsoft C++ exception: std::bad_alloc at memory location 0x00a6f628,可能的原因是:



这个时候你可以选择下X64的平台来调试。可能就没问题了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  内存 c++