Susun atur dinamik
Dalam kursus sebelumnya tentang tatasusunan, kami melihat untuk mencipta tatasusunan seperti ini:
 
const int Nmax = 1000; int A[Nmax]; atau ini: intA[1000];
Kaedah ini mencipta tatasusunan statik. Satu kelemahan ialah saiz dan jenis elemen tatasusunan tidak boleh diubah semasa program sedang berjalan. 
Dalam contoh di atas, tatasusunan statik 1000 elemen dicipta. Iaitu, kawasan diperuntukkan dalam memori untuk menyimpan 1000 elemen jenis int (susunan 1000 elemen jenis int). Alamat permulaan tatasusunan disimpan dalam pembolehubah  A. Jika anda perlu memproses tatasusunan lebih daripada 1000 elemen, anda perlu menukar penerangan dan menyusun semula atur cara sekali lagi. Apabila bekerja dengan tatasusunan kecil, kebanyakan memori yang diperuntukkan untuk tatasusunan statik akan dibazirkan.

Untuk penggunaan memori komputer yang cekap, adalah perlu untuk memperuntukkannya secara dinamik. Dalam erti kata lain, memori untuk objek harus diperuntukkan semasa pelaksanaan program seperti yang diperlukan (membuat objek baharu).

Dalam C++, operasi  baharu dan padam  direka bentuk untuk memperuntukkan memori komputer secara dinamik.  Operasi baharu  memperuntukkan memori daripada kawasan memori kosong dan operasi padam meneruntukkan memori yang diperuntukkan. 
 
Contoh mencipta dan memadam pembolehubah dinamik
int *A = int baharu; // cipta objek jenis int *A = 15; // permulaan objek berlaku melalui penunjuk (*) // permulaan boleh dilakukan dengan segera // apabila mengisytiharkan objek dinamik int *B = new int(25); cout << *A << " " << *B; // nilai keluaran dengan penunjuk deleteA; // membebaskan memori yang diperuntukkan padamkan B; Operasi baharu membuat objek daripada jenis yang diberikan, memperuntukkan memori untuknya dan mengembalikan penunjuk jenis yang betul ke lokasi memori yang diberikan. Jika ingatan tidak boleh diperuntukkan, contohnya, jika tiada kawasan kosong, maka penuding nol dikembalikan, iaitu, penuding akan mengembalikan nilai 0. Peruntukan memori mungkin untuk sebarang jenis data: int float , doublechar dll.

Dengan cara yang sama, dalam C++ anda boleh mencipta tatasusunan dinamik yang akan menggunakan peruntukan memori dinamik. Saiz tatasusunan sedemikian, yang boleh digunakan semasa program sedang berjalan, contohnya, dari papan kekunci. untuk mencipta pembolehubah dinamik.
 
Dalam sintaks C
intN; scanf("%d", &N); int *mas = malloc (sizeof(int) * N); // kemudian untuk mengubah saiz tatasusunan // digunakan oleh realloc. ... percuma(mas); // lepaskan memori yang diperuntukkan
Dalam sintaks C++
intN; cin>> N; int*A = new int[N]; // untuk menukar saiz tatasusunan, anda boleh // pindahkan data ke tatasusunan lain, dan kosongkan yang lama ... padam []mas; // lepaskan memori yang diperuntukkan // kurungan segi empat sama menunjukkan // bahawa kita membebaskan memori dari bawah tatasusunan