ciao,
con c++ sono agli inizi.
che differenza c'è tra le 2 classi che seguono dal punto di vista dell'allocazione?
class A{
public:
std::string x;
};
class B{
public:
std::string* x;
};
A* a = new A();
B* b = new B();
Il fatto che a->x non è dichiarato come puntatore significa che non verrà allocato nello heap, sebbene A stia nello heap? Oppure il fatto che 'a' è allocato nello heap determina che tutti i suoi membri saranno allocati nello heap automaticamente?
Inoltre. Se invece di due classi uso 2 strutture, valgono le stesso considerazioni?
grazie