Utworzenie obiektu o tej samej nazwie

0

Witam,

Mam takie pytanie bardziej teoretyczne, wiem ze tak nie mozna zrobic ale zastanawiam sie dlaczego, otoz tworze sobie jakis obiekt, nastepnie usuwam go i ponownie chcialbym go stworzyc o tej samej nazwie. dlaczego to jest niedozwolone skoro tamten obiekt juz nie istnieje?

Wojownik w1;

delete &w1;
    
    Wojownik w1;
0

Po pierwsze nie możesz deletować obiektu utworzonego na stosie.
Po drugie nie możesz w tym samym zakresie zdefiniować kilku zmiennych o tej samej nazwie.
Możesz za to użyć ponownie tę zmienną:

foo f;
f.bar();
f = foo();

albo przesłonić tę zmienną wprowadzając nowy scope:

{
    foo f;
    {
        foo f;
    }
}
0

Moglbys mi wytlumaczyc ten zapis?

f = foo();

0

Pewnie chodzi o zwrócenie nowego obiektu.

0
Kolo56 napisał(a):

Moglbys mi wytlumaczyc ten zapis?

f = foo();

To taki sam zapis jak

int x = 10;
x = 11;
0

Czyli po prostu zmieniana jest wartość na początkową a adres pozostaje ten sam?

0

Tak

1 użytkowników online, w tym zalogowanych: 0, gości: 1