Tôi đã đọc Why is there no reallocation functionality in C++ allocators? và Is it possible to create an array on the heap at run-time, and then allocate more space whenever needed?, trong đó nêu rõ rằng việc phân bổ lại mảng động của đối tượng là không thể.Một gợi ý phân bổ có được sử dụng không?
Tuy nhiên, trong C++ thư viện chuẩn bởi Josuttis, nó khẳng định một cấp phát, allocator
, có chức năng allocate
với cú pháp sau
pointer allocator::allocate(size_type num, allocator<void>::pointer hint = 0)
nơi hint
có thực hiện được xác định ý nghĩa, có thể được sử dụng để giúp cải thiện hiệu suất.
Có bất kỳ triển khai nào tận dụng điều này không?
Ah, vậy là để phân bổ các đối tượng cạnh nhau chứ không phải phân bổ lại đối tượng hiện có? –
Bạn không thể vượt qua địa chỉ có sẵn tiếp theo. Gợi ý phải được lấy từ một cuộc gọi trước đó để 'cấp phát'. – Potatoswatter