Jaka jest różnica między tymi dwoma stwierdzeniami?Jaka jest różnica między tymi dwoma oświadczeniami?
ob.A::ar[0] = 200;
ob.ar[0] = 200;
gdzie ob
to obiekt klasy A
class A
{
public:
int *ar;
A()
{
ar = new int[100];
}
};
czy możesz wyjaśnić, co napisałeś jako prywatny kod w klasie A? – Rushil
@Rushil Cóż, to naprawdę nie na temat: jest to najszybszy sposób, aby zapobiec kopiowaniu "A" (co doprowadziłoby do podwójnego usunięcia 'A :: ar'). Nazywa się [Rule Of Three] (http://stackoverflow.com/questions/4172722/what-is-the-rule-of-three) lub w C++ 11 [Rule Of Zero] (http: // rmartinho .github.com/2012/08/15/rule-of-zero.html) zamiast :) – sehe
OK. Wiem, że to nie dotyczy tematu, ale chciałem wiedzieć, co to znaczy. :-) – Rushil