mirror of
https://github.com/szymon-jozef/ZUT-notatki.git
synced 2026-10-27 19:20:39 +01:00
kod
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user