Memory management in allocating 2-D array

后端 未结 2 1049
耶瑟儿~
耶瑟儿~ 2020-12-22 04:21

I have allocated a two dimensional array using the following code:

// Dynamic allocation
        int **matrix=new int*[n];
        for(int i=0;i

        
2条回答
  •  遥遥无期
    2020-12-22 04:37

    "What is the correct way of doing it?"

    Using standard containers like e.g. std::vector> or std::array,N> (supposed N is already known at compile time) is the correct way.
    You don't use new()/new[] and delete/delete[] in 1st place (besides rare valid use cases).

    If you're sure you have such case, you delete in exactly the reverse order as you were allocating using new[]. delete [][]; isn't valid syntax, as the compiler already told you.

提交回复
热议问题