mirror of
https://github.com/szymon-jozef/ZUT-notatki.git
synced 2026-09-07 20:20:39 +02:00
22 lines
772 B
C++
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;
|
|
}
|