Zniszczenie obiektu.

Zniszczenie obiektu.
EX
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

Witam. Stworzyłem obiekt z klasy Card

Kopiuj
void funkcja
{
Card a01(//dane);
CardDeck.push_back(a01);
//usuniecie a01
//ponowne utworzenie
}

Chciałbym teraz usunąć obiekt a01 i ponownie go utworzyć poniżej z użyciem konstruktora.

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
1

Doczytaj o zakresie zmiennych i ich czasie życia.
To wszystko dzieje się automatycznie.

BG
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 293
0

To co chcesz zrobić jest teoretycznie możliwe, ale jestem na 100% pewien że nie chcesz tego robić...
Możesz jawnie wywołać destruktor obiektu zaalokowanego na stosie, pod warunkiem że w miejscu zajmowanym przez ten obiekt skonstruujesz nowy obiekt tego samego typu. Pfuj.

Sekcja 3.8.7 standardu C++

To co najprawdopodobniej masz na myśli to taki przypadek:

Kopiuj
Card a01(//dane);
CardDeck.push_back(a01);
a01=Card(//nowedane);
CardDeck.push_back(a01);

Oprócz tego co rekomentował Ci @MarekR22 poczytaj o konstruktorze kopiującym i operatorze przypisania.

Sunnydev
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Nether
  • Postów: 235
0

może o coś takiego Ci chodzi? :D

Kopiuj
void funkcja
{
   { //tworzysz nowy zasięg:
      Card a01(//dane);
      CardDeck.push_back(a01);
   } //po wyjsciu z tego bloku a01 zostaje zniszczone.

   Card a01;
   CardDeck.push_back(a01);
   //ponowne utworzenie
}
lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5025
2

O nic nie chodzi, jak napisał @MarekR22 , to jest problem xy ; bez zobaczenia całego kodu i wyjasnienia od OP, o co chodzi, wszelkie dywagacje są bezsensowne

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.