Tymczasowy obiekt klasy wewnatrz funkcji.
Ostatnio zmodyfikowano 2013-03-24 20:36
Monika90 |
» 2013-03-24 08:59:12 Operator + ma błąd, bo zwraca referencję do zmiennej lokalnej, takie zmienne przestają istnieć po powrocie z funkcji, co unieważnia referencję. Operator = nie działa poprawnie, gdy new rzuci wyątkiem. Należy zastosować idiom copy-and-swap: Tablica & Tablica::operator =( Tablica other ) { std::swap( n, other.n ); std::swap( tab, other.tab ); return * this; }
krótkie i działa poprawnie. |
|
maze Temat założony przez niniejszego użytkownika |
» 2013-03-24 20:36:51 Faktycznie sprytne to copy & swap. Co do referencji to w kodzie mialem bez niej, wczesniej z nia co prawda kombinowalem musialem wkleic zla wersje.
Wyedytuje poprzedniego posta, zeby kogos w blad nie wprowadzic.
Dzieki Monia |
|
1 « 2 » |