This commit is contained in:
2026-03-31 15:26:41 +02:00
parent 3a5efebd4b
commit 59d771de82
3 changed files with 55 additions and 12 deletions

View File

@@ -1,9 +1,21 @@
// Poniższy kod zawiera kilka błędów. Wskaż każdy z nich i zaproponuj poprawkę
void funkcja() {
int *a = new int(10);
int *b = new int(20);
a = b; // (1)
delete a; // (2)
delete b; // (3)
int *a = new int(
10); // do wskaźnika a przypisujemy wartość 10 zaalokowaną na stercie
int *b = new int(
20); // do wskaźnika b przypisujemy wartość 20 zaalokowaną na stercie
// a = b; // (1) // do wskaźnika a przypisujemy adres wskaźnika b
// teraz oba wskaźniki wskazują na 20.
// delete a; // (2) // usuwa wartość 20 ze sterty
// delete b; // (3) // usuwa wartość 20 ze sterty
// poprawa: zamiast przypisywać adresy przypiszmy wartości na które wskazują!
*a = *b;
delete a;
delete b;
// dodatkowo pokażmy że nie wskazują teraz na nic
a = nullptr;
b = nullptr;
}