Tôi đang tự hỏi nếu có một cách để giao nhau hoặc làm cho sự khác biệt giữa hai cấu trúc định nghĩa là std::set<MyData*>
và std::map<MyData*, MyValue>
với các thuật toán tiêu chuẩn (như std::set_intersect
)Có cách nào để giao nhau/diff một std :: map và std :: set?
Vấn đề là tôi cần phải tính toán sự khác biệt giữa các thiết lập và keyset của bản đồ nhưng tôi muốn tránh tái phân bổ nó (vì nó là cái gì đó được thực hiện nhiều lần trong một giây với cấu trúc dữ liệu lớn). Có cách nào để có được "chế độ xem chính" của std::map
không? Sau khi tất cả những gì tôi đang tìm kiếm là chỉ xem xét các phím khi thực hiện các hoạt động thiết lập như vậy từ một điểm thực hiện nó nên có thể nhưng tôi đã không thể tìm thấy bất cứ điều gì.
Hãy xem bộ lọc filter_iterator trong thư viện trình tăng tốc. –
Xin lỗi, không phải filter_iterator - transform_iterator. Xem Câu trả lời ẩn danh. –