Obiekt jako składnik klasy vs. wskaźnik do obiektu jako składnik klasy

0

Cześć,

czy jest jakaś róźnica (chodzi mi o wydajność, zużycie pamięci, etc.), że zamiast obiektów jako składników klas, stosuje się składniki będącymi wskaźnikami do obiektów? Np.,

zamiast

class foo
{
  std::list<int> mObject;
}

mam wrażenie, że powszechniejsze jest stosowanie

class foo
{
  std::list<int> *mPtr;
}

gdzie w moim przypadku mPtr byłoby inicjalizowane w konstruktorze klasy foo.

Przemawia za takim postępowaniem jakiś argument?

0

Przemawia. Miejsce alokacji obiektów. Zwykle jak masz wskaźniki to są to obiekty na stercie.

0

Raczej to pierwsze rozwiązanie jest powszechne.

Nie ma sensu robić wskaźników tam gdzie jest to nieobowiązkowe i nie przemawiają za tym jakieś szczególne argumenty (na przykład leniwa inicjalizacja dużych obiektów).

1 użytkowników online, w tym zalogowanych: 0, gości: 1