В алгоритме, который я сейчас реализую, мне нужно манипулировать std:: list структуры T. T содержит ссылку на другой экземпляр T, но эта ссылка также может быть "неназначенной". Сначала я хотел использовать указатель для хранения этой ссылки, но вместо этого использование итератора упрощает удаление из списка.
Мой вопрос: как представить эквивалент нулевому указателю с моим итератором?
Я читал общее решение - использовать myList.end(), но в моем случае мне нужно проверить, является ли итератор "нулевым" или нет, и я могу добавлять или удалять элементы в список между моментом, когда я хранить итератор и момент, когда я удаляю его из списка... Должен ли я сделать итератор точкой с известным списком, содержащим элемент "null"? Или есть более элегантное решение?