Czy poniższy kod jest bezpieczny? (Wiem już, że kompiluje się prawidłowo.)Używanie * this w metodzie klasy C++ do całkowitego zastąpienia samodzielnego tworzenia
void Tile::clear()
{
*this = Tile();
}
int main()
{
Tile mytile;
mytile.clear();
}
Jak to jest właściwe dla pytania? Jeśli konstruktor nie inicjalizuje poprawnie elementu, wykonanie _thingthing_ z obiektem może wywołać niezdefiniowane zachowanie. – sbi
@sbi: Nic. Możesz mieć nieużywaną niezainicjowaną zmienną wskaźnika wskaźnika. W takim przypadku możesz bezpiecznie utworzyć instancję i zniszczyć obiekt. Chodzi mi o to, że * to zależy *. – sharptooth
Przepraszam, ale to nie lata. Taką bestię można również przypisać do i od. – sbi