Biến của loại Vec<[f3; 5]>
được lưu trữ dưới dạng một mảng liền kề (trong số Vec::len() * 5 * sizeof(f32)
byte) hay được lưu trữ dưới dạng Vec
của con trỏ?Bố trí bộ nhớ của vectơ mảng là gì?
6
A
Trả lời
8
Nội dung của Vec<T>
là, bất kể T
, phân bổ một đống duy nhất, là self.capacity() * std::mem::size_of::<T>()
byte. (Vec
totalocates — đó là toàn bộ điểm Vec<T>
thay vì Box<[T]>
— đó là dung lượng, không phải độ dài, quan trọng trong phép tính này.) Bản thân thực tế Vec<T>
có ba từ (24 bytes trên máy 64 bit).
[f32; 5]
chỉ là một đoạn bộ nhớ có chứa năm số dấu phẩy động 32 bit, không có hướng dẫn; điều này đến hai mươi byte (do đó std::mem::size_of::<[f32; 5]>() == 20
).
Các vấn đề liên quan
- 1. bố trí bộ nhớ của C struct với mảng
- 2. windows xử lý bố trí bộ nhớ
- 3. Bố trí và ngoại lệ của bộ nhớ
- 4. Bố cục bộ nhớ của một mảng .NET
- 5. Toán tử C++ mới - bố trí bộ nhớ
- 6. bố trí inflater Android ra khỏi bộ nhớ
- 7. Vị trí của bộ nhớ đệm ASP.NET
- 8. bộ nhớ ARM TCM là gì
- 9. "Bộ nhớ đệm" là gì?
- 10. Giá trị của None trong bộ nhớ là gì?
- 11. Cách bố trí bộ nhớ của một lớp so với cấu trúc
- 12. Công cộng và riêng tư có ảnh hưởng gì đến bố trí bộ nhớ của một đối tượng không?
- 13. Bố cục bộ nhớ lớp CLR
- 14. Bộ khởi tạo mảng là gì?
- 15. struct bố trí các thành viên nhớ
- 16. mảng vec-tơ hoặc vectơ của mảng?
- 17. Cách tốt nhất để bố trí lớp C# là gì?
- 18. Ưu điểm của tệp ánh xạ bộ nhớ là gì?
- 19. Bộ nhớ trong của Android - giới hạn là gì?
- 20. Bộ nhớ thường trú và bộ nhớ dơ bẩn của iOS là gì?
- 21. tạo bộ nhớ cache của mảng byte
- 22. Cách tốt hơn để tải vectơ từ bộ nhớ. (clang)
- 23. bố trí d3 là undefined
- 24. Bộ nhớ cache khởi động là gì?
- 25. Vị trí bộ nhớ thực tế cho các biến tĩnh là gì?
- 26. sự khác biệt giữa bộ nhớ cache l1 và bộ nhớ cache l2 là gì?
- 27. Xóa sạch mọi vòng lặp lặp lại. Cách hiệu quả nhất của bộ nhớ là gì?
- 28. Bố cục bộ nhớ Đối tượng C++
- 29. Vị trí bộ nhớ của giá trị enum trong C
- 30. "_" trong tuyên bố của Golang là gì?
Cảm ơn. Nhưng 'Vec>' sẽ được lưu dưới dạng 'Vec' của con trỏ đúng không? –
user72961
Một 'Vec> 'sẽ có một loạt các cấu trúc 3 từ được đóng gói chặt chẽ. Một trong những từ đó sẽ là một con trỏ. Hai loại còn lại là dung lượng và chiều dài. –
Shepmaster
Điều gì về căn chỉnh? Làm thế nào lớn là đống cho 'Vec', 'Vec ' (là nó bằng với công suất), 'Vec <(u8, u8)>', 'Vec <[u8; 3]>'? –
ArtemGr