Nếu std :: vector và bạn bè đang tự thay đổi kích thước, điều đó có nghĩa là nếu tôi khai báo một vector như vậy:STL container trên stack và heap
std::vector<string> myvec;
Sau đó, nó sẽ chỉnh kích cỡ sử dụng ngăn xếp hơn, trong khi :
std::vector<string> *myvec = new std::vector<string>();
Sẽ thay đổi kích thước bằng nhiều vùng heap hơn?
Bạn cũng có thể triển khai vectơ 'cố định kích thước' để lưu trữ tất cả điều này trên ngăn xếp. Nó hoạt động khá tốt và có thể là một tối ưu hóa. Tuy nhiên, chi phí là nó sẽ không phải là vô hạn mở rộng> bạn sẽ phải giải quyết cho một giới hạn cao, và nó sẽ luôn luôn tiêu thụ nhiều không gian. –
Điều đó thật thú vị, do đó, vectơ "kích thước cố định" hoàn toàn nằm trên ngăn xếp? – Benj
Tôi không biết một vector có kích thước cố định, nhưng nếu bạn muốn dữ liệu cố định của mình trên ngăn xếp, hãy xem xét sử dụng std :: tr1 :: array, có vẻ tương tự. – stefaanv