c ++队列内存泄漏

时间:2014-02-13 12:37:47

标签: c++ memory-management memory-leaks

我遇到了C ++代码的问题,在这部分代码中丢失了内存。 我对C ++不太满意,请帮忙。我想创建数组队列,但此代码中存在一些错误。

const size_t _queueSize;
size_t _queueBack;
size_t width;
size_t height;
u_char** _history;

....

    if (_queueBack) {
        for (int i = _queueBack; i > 0; --i) {
            _history[i] = _history[i-1];
        }
    }
    if (_queueSize == _queueBack) {
        delete[] _history[_queueSize + 1];
        _history[0] = new u_char [height*width];
    } else {
        ++_queueBack;
    }

P.S。我无法使用STL我需要快速排队。

1 个答案:

答案 0 :(得分:0)

您可以使用valgrind检查泄漏,内存泄漏可能会在代码中的其他位置产生,并在此时“爆炸”。

顺便说一句,我坚信你应该使用STL,如果你需要一些内存工具的特殊要求你拥有分配器。我怀疑你能否实现比STL更好的解决方案,这是人们最常见的错误或传说之一,STL并不慢,这是你使用它的方式。