อาร์เรย์ 2 มิติแบบไดนามิกนั้นเป็นอาร์เรย์ของพอยน์เตอร์ไปยังอาร์เรย์ ดังนั้น ก่อนอื่นคุณต้องเริ่มต้นอาร์เรย์ของพอยน์เตอร์ไปยังพอยน์เตอร์ จากนั้นจึงเริ่มต้นอาร์เรย์ 1d แต่ละอันในลูป
ตัวอย่าง
#include<iostream> using namespace std; int main() { int rows = 3, cols = 4; int** arr = new int*[rows]; for(int i = 0; i < rows; ++i) arr[i] = new int[cols]; return 0; }
สิ่งนี้จะสร้างอาร์เรย์ 2 มิติขนาด 3x4 ล้างหน่วยความจำด้วยวิธีต่างๆ ในกรณีดังกล่าว เนื่องจากคุณจะต้องลบหน่วยความจำในลักษณะเดียวกับที่คุณจัดสรรไว้ แต่ในลำดับที่กลับกัน กล่าวคือ คุณจะต้องลบอาร์เรย์ 1D ก่อน ตามด้วยอาร์เรย์ของพอยน์เตอร์