Код, представленный во время написания, кажется недостаточным для ответа на вопрос «почему».
Однако, так как вы используете C ++, вы можете убедиться в отсутствии утечки памяти, используя std::vector
.
Вот так:
// Allocation.
std::vector< std::vector< int > > fftResults( recordsPerBuffer, std::vector< int >( fftLength ) );
// Usage:
fftResults[y][x] = blah;
// Deallocation: automatic.
Другой способ реализовать матрицу - это
std::vector< int > fftResults( recordsPerBuffer*fftLength );
и затем вычислить индекс для данного (x, y).
Приветствия & hth.,