Files
ZUT-notatki/uczelnia/2_semestr/programowanie/laby/lab5/zad2.cpp
2026-03-31 15:26:41 +02:00

22 lines
772 B
C++

// Poniższy kod zawiera kilka błędów. Wskaż każdy z nich i zaproponuj poprawkę
void funkcja() {
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;
}