An Связанный список XOR - это модифицированная версия обычного дважды связанного списка, в котором каждый node хранит только один "указатель" вместо двух. Этот "указатель" состоит из XOR следующего и предыдущего указателей. Для перемещения по списку требуется два указателя - один для текущего node и один для следующего или предыдущего node. Для перемещения вперед предыдущий node адрес имеет XORed с "указателем", хранящимся в текущем node, отображая истинный "следующий" указатель.
Стандарт С++ вызывает кучу операций над указателями и целыми числами, что приводит к поведению undefined - например, вы не можете гарантировать, что установка определенного бита в число не приведет к тому, что аппаратное обеспечение вызовет прерывание, поэтому в некоторых в случаях, когда результат бит может быть undefined.
Мой вопрос следующий: существует ли реализация С++ связанного с XOR списка, которая не приводит к поведению undefined?