从动态分配的数组中删除

时间:2015-10-01 03:14:33

标签: c++ arrays dynamic-memory-allocation

所以我有一个2D数组

width

此数组的宽度为m_heigths,高度由名为// Remove blank space where necessary // Iterate through every row for (int x=0; x<m_width; ++x){ // count number of spaces int spaces=0; // iterate through the given row for (int y=0; y<m_heigths[x]; ++y){ // if space is occupied by a black space increment count if (m_data[x][y]==' '){ ++spaces; } } // check if entire column is just a bunch of blanks if (spaces==m_heigths[x]){ // get rid of blanks delete [] m_data[x]; } } 的向量指定。

if ('serviceWorker' in navigator) {
    navigator.serviceWorker.register('/assets/service-worker.js')
    .then(initialiseState);
  } else {
    window.Demo.debug.log('Service workers aren\'t supported in this browser.');

所以我想找一个只是一堆空格的列并将其删除。但这似乎没有用,空白处留在那里。有谁可以帮助我?

1 个答案:

答案 0 :(得分:2)

delete仅释放已分配的内存。要在删除之后真正删除您需要复制的行(在这种情况下,只需复制指针)下面的所有行。就像海登在评论中所言,它可能更容易使用STL容器。