Có std::set
lưu trữ các đối tượng trong bộ nhớ tiếp giáp như thế std::vector
nào?
Tôi chưa thể tìm thấy điều này trên web, cppreference không đề cập chi tiết về phân bổ bộ nhớ. Nhưng tôi không thể hiểu tại sao nó không thể sử dụng bộ nhớ liền kề, do đó câu hỏi của tôi.
std::set
không phải là một trong những điều đó, mà là chìa khóa ở đây.
set::insert
các yêu cầu: en.cppreference.com/w/cpp/container/set/insert "... Không có trình lặp hoặc tham chiếu nào bị vô hiệu ...." vì vậy nó không thể phân bổ lại khi cần mở rộng như thếstd::vector
.