Tôi đang cố gắng tạo một trình lặp mà chỉ có thể dereference để các loại giá trị thực, không phải để tham khảo. Điều này có thể sử dụng boost::iterator_facade
hay không yêu cầu tôi có các giá trị có thể được trả về bởi adress \ reference.boost iterator facade and dereference() function
Để có specfic hơn, iterator của tôi trả về một std::pair
tài liệu tham khảo, có nghĩa là vòng lặp của tôi value_type
không được lưu trữ ở bất cứ đâu, nhưng tạo ra khi đang bay trên dereferencing (như std::map::iterator
).
Cảm ơn bạn đã trả lời câu hỏi này, thực sự đã giúp tôi. Tôi có một câu hỏi mặc dù, trước khi xác định đối số mẫu tham khảo, tôi chỉ cố gắng trả về giá trị. Điều này được biên soạn nhưng đã cho tôi kết quả rất lạ, chẳng hạn như con trỏ trong lớp của tôi trở thành null vào thời điểm lạ. Tôi cho rằng câu hỏi của tôi là, tại sao nó lại biên dịch? – FlamFace