Zawsze myślałem o strukturze jako obiekcie o ustalonym rozmiarze i chociaż nie ma żadnych jaskrawych błędów w kompilatorze, zastanawiałem się, czy jest to ogólnie w dobrej praktyce. Czy zmiana struktury na klasę byłaby bardziej wskazana, czy też struktura może równie dobrze działać?Czy jest możliwe/zalecane przechowywanie wektora w strukturze? C++
kod, tylko dlatego, że ludzie stają się wybredne:
struct Sprite
{
float x;
float y;
std::vector<Sprite> sprite;
}
Istotą co robie jest posiadanie dzieci klasy jako tego samego rodzaju co rodzic. Kiedy rodzic umiera, dzieci też.
"struct" to po prostu klasa z domyślną widocznością 'public' zamiast' private'. –
Należy zauważyć, że dodawanie członków z contructor/destructor do struct powoduje, że kompilator wysyła również konstruktor/destruktor dla struct. Techniki w stylu C, które implikują struktury POD, nie będą działać. –
Przechowywanie wektora wewnątrz struktury nie powoduje zmiany jego rozmiaru. Elementy wektorowe są przechowywane na stercie, więc rozmiar struktury pozostaje taki sam, bez względu na to, czy wektor ma 0, czy 1000 elementów. – mfontanini