class xyz{
...
...
};
while(i<n){
xyz ob;
...
...
}
Czy muszę zniszczyć wcześniejszy obiekt przed ponownym przydzieleniem do niego pamięci?Czy mogę to zrobić z obiektami klasy?
class xyz{
...
...
};
while(i<n){
xyz ob;
...
...
}
Czy muszę zniszczyć wcześniejszy obiekt przed ponownym przydzieleniem do niego pamięci?Czy mogę to zrobić z obiektami klasy?
nr
ob
jest obiektem stos przyznane, więc jego własny cykl życia jest zarządzany automatycznie. Jest skonstruowany w miejscu, w którym je zadeklarujesz, zniszczony pod numerem "}"
.while
, obiekt będzie konstruowany i niszczony w każdej iteracji.Nie Zakres ob
kończy się na nawiasu klamrowego. Kompilator automatycznie wywołuje destruktor na obiektach opartych na stosie, gdy wychodzą poza zakres.
Nie, jego zakres jest ograniczony do pętli while.
w każdej iteracji tworzony jest zupełnie nowy obiekt. Tak się składa, że wszystkie mają taką samą nazwę xyz. Na końcu iteracji bieżący obiekt jest niszczony przez jego destuktor, aw następnej iteracji tworzony jest nowy obiekt o tej samej nazwie. Twój kod jest więc w porządku. HTH