Tôi luôn nghĩ về một cấu trúc như một đối tượng có kích thước cố định và trong khi dường như không có bất kỳ lỗi biên dịch rõ ràng nào, tôi đã tự hỏi nếu làm điều này nói chung là thực hành tốt. Sẽ thay đổi cấu trúc cho một lớp được khuyến khích hơn hoặc sẽ là một cấu trúc làm chỉ là tốt?Có thể/nên lưu trữ một vector trong cấu trúc không? C++
Mã, chỉ vì người ta kén chọn:
struct Sprite
{
float x;
float y;
std::vector<Sprite> sprite;
}
Bản chất của những gì tôi đang làm là có con của một lớp như các loại giống như cha mẹ. Khi cha mẹ qua đời, các em cũng vậy.
Một 'struct' chỉ là một lớp có hiển thị mặc định là' public' thay vì 'private'. –
Lưu ý rằng việc thêm các thành viên với contructor/destructor vào một cấu trúc làm cho trình biên dịch phát ra một constructor/destructor cho cấu trúc là tốt. Kỹ thuật kiểu C có nghĩa là cấu trúc POD sẽ không hoạt động. –
Lưu trữ một vector bên trong cấu trúc không làm cho nó thay đổi kích thước của nó. Các mục của Vector được lưu trữ trên heap, do đó kích thước của cấu trúc vẫn giữ nguyên, bất kể vector có 0 hay 1000 phần tử. – mfontanini