2009-02-09 57 views
7

Giả sử tôi có hai mục, a và b, so sánh giống nhau. Vì vậy, một < b là sai, và b < a là sai. Nếu các mục này được chèn vào một std :: multiset (hoặc std :: multimap) làm khóa, tôi có bất kỳ đảm bảo nào về thứ tự sắp xếp cuối cùng của chúng không?Trong C++ không std :: multiset giữ một thứ tự sắp xếp ổn định?

Tôi đã kiểm tra một vài tài liệu tham khảo, nhưng tôi không thể tìm thấy câu trả lời. Tôi bị cám dỗ để nghĩ rằng không có bảo đảm và rằng nó còn lại đến từng thực hiện cụ thể.

Cảm ơn.

+0

Bản sao có thể có của [Có std :: yêu cầu chèn bảo hành nhiều lần không?] (Https://stackoverflow.com/questions/2643473/does-stdmultiset-guarantee-insertion-order) –

Trả lời

9

This thread ngụ ý rằng nó không được đảm bảo theo tiêu chuẩn hiện hành nhưng được đáp ứng bởi tất cả các triển khai hiện tại đã biết và cung cấp liên kết tới tiêu chuẩn dự thảo C++ 0x bao gồm bảo đảm.

+0

Cảm ơn câu trả lời nhanh. – Imbue

+5

Đối với bản ghi, bảo đảm C++ 0x là "chèn ở giới hạn trên." –

+0

Tuyệt vời. Chúng tôi chưa sử dụng C++ 11, nhưng tôi sẽ bổ sung một thử nghiệm đơn vị vào bộ kiểm thử để đảm bảo hành vi của trình biên dịch trên các phiên bản mà chúng tôi sử dụng. – mskfisher

Các vấn đề liên quan