là bản đồ STL được đặt hàng?Có phải C++ std :: map <string, string> được sắp xếp không?
Cụ thể tôi cần biết liệu std :: map có được sắp xếp hay không. Vì vậy, nếu tôi lặp lại nó, nó sẽ lặp lại với chuỗi đầu tiên chèn đầu tiên.
Vì vậy, bên dưới sẽ lặp lại A, C rồi B liên tục?
std::map<string,string> str_map;
str_map.insert(std::make_pair("A","Data"));
str_map.insert(std::make_pair("C","Data"));
str_map.insert(std::make_pair("B","Data"));
Có, bạn thực sự có thể vượt qua chức năng so sánh của riêng bạn để bạn có thể yêu cầu nó theo thứ tự bạn muốn. http://www.cplusplus.com/reference/stl/map/ – leetNightshade
CodingQuant: Trên thực tế ví dụ của bạn không phải là rất tốt, vì nó không phân biệt giữa hai ý nghĩa của "đặt hàng": thứ tự chèn, và thứ tự từ điển. std :: bản đồ bảo tồn * lexicographical * thứ tự, không chèn thứ tự. –
@j_random_hacker: Để được pedantic, std :: bản đồ duy trì thứ tự từ điển chỉ khi vị từ so sánh của bạn dựa trên so sánh từ điển. –