1. Wprowadzenie do C++
  2. Szybki start
  3. Pierwszy program
  4. Komentarze
  5. Zmienne
  6. Typy danych
  7. Operatory
  8. Instrukcje warunkowe
  9. Pętle
  10. Tablice
  11. Funkcje
  12. Argumenty
  13. Wartości zwracane
  14. Wskaźniki
  15. Podsumowanie

Tablice dynamiczne

Tablice dynamiczne to struktury danych, które pozwalają na przechowywanie elementów o różnych typach i dynamiczną alokację pamięci w trakcie działania programu. W odróżnieniu od tablic statycznych, które mają stałą liczbę elementów i rozmiar określony w trakcie kompilacji, tablice dynamiczne pozwalają na tworzenie tablic o zmiennej liczbie elementów i rozmiarze.

Aby zadeklarować tablicę dynamiczną , musimy określić typ danych, który będzie przechowywany w tablicy, oraz jej rozmiar. Deklaracja tablicy dynamicznej wygląda następująco:

								
typ_danych *nazwa_tablicy = new typ_danych[rozmiar];
								
						

aby utworzyć tablicę dynamiczną przechowującą 10 liczb całkowitych, możemy użyć następującej deklaracji:

								
int *tablica_dynamiczna = new int[10];
								
						

Aby uzyskać dostęp do elementów tablicy dynamicznej, podajemy indeks elementu w nawiasach kwadratowych po nazwie tablicy. Na przykład, aby przypisać wartość 5 do elementu o indeksie 3, możemy użyć poniższego kodu:

								
tablica_dynamiczna[3] = 5;
								
						

Możemy również iterować po elementach tablicy dynamicznej za pomocą pętli. Przykładowy kod, który wyświetla wszystkie elementy tablicy, wygląda następująco:

								
#include <iostream>
using namespace std;

int main() {

  int rozmiar = 5;
  int* tablica = new int[rozmiar]; // alokacja pamięci na tablicę dynamiczną

  for (int i = 0; i < rozmiar; i++) {
    tablica[i] = i + 1; // inicjalizacja tablicy
  }

  cout << "Wartość elementu 3: " << tablica[2] << endl; // wyświetla wartość elementu o indeksie 3

  delete[] tablica; // zwolnienie zaalokowanej pamięci

  return 0;
}
								
						

Aby zwolnić zaalokowaną pamięć dla tablicy dynamicznej, musimy użyć operatora delete:

								
delete[] tablica_dynamiczna;
								
						
Notatka

Alokacja pamięci dla tablicy dynamicznej w C++ odbywa się za pomocą operatora new, który przydziela odpowiednią ilość pamięci w czasie wykonania programu. Należy zauważyć, że alokacja pamięci musi zostać zwolniona w celu uniknięcia wycieków pamięci. Do tego celu używamy operatora delete.

Warto zauważyć, że w przypadku tablic dynamicznych, które nie zostały zwolnione, następuje wyciek pamięci, co może prowadzić do problemów z wydajnością i stabilnością programu.