W C++ ff Mam klasy, które musi posiadać element, który może być dynamicznie przeznaczone i wykorzystane jako wskaźnik, czy nie, jak to:Dynamiczne vs non-dynamiczny członkowie klasy
class A {
type a;
};
lub
class A {
A();
~A();
type* a;
};
i konstruktora:
A::A {
a = new type();
}
i destruktora:
A::~A {
delete a;
}
Czy są jakieś zalety lub wady jednego z nich, oprócz dynamicznego wymagającego więcej kodu? Czy zachowują się inaczej (pomijając wskaźnik, który trzeba usunąć) lub czy są wolniejsze od innych? Którego powinienem użyć?
Pracuj nad poprawnym, możliwym do utrzymania kodem, a następnie w razie potrzeby pracuj nad wydajnością. –
Twoje drugie "A" jest niebezpieczne; musisz zdefiniować także konstruktora kopiowania i 'operator ='. Nigdy nie posiadaj takich wskaźników, owiń je tak, abyś nie musiał pisać * żadnych * specjalnych funkcji członków. – GManNickG