相关疑难解决方法(0)

可以在C++中实现XOR链表而不会导致未定义的行为吗?

一个异或链表是一个正常双链表的修改版本,其中每个节点存储仅仅一个"指针",而不是两个.该"指针"由下一个和前一个指针的XOR组成.要遍历列表,需要两个指针 - 一个指向当前节点,另一个指向下一个或上一个节点.为了遍历前进,前一个节点的地址与存储在当前节点中的"指针"进行异或,显示真正的"下一个"指针.

C++标准导致指针和整数上的一系列操作导致未定义的行为 - 例如,您无法保证在数字中设置特定位不会导致硬件触发中断,因此在某些情况下会导致位的结果twiddling可以是undefined.

我的问题如下:是否有一个XOR链表的C++实现,不会导致未定义的行为?

c++ linked-list xor language-lawyer data-structures

15
推荐指数
1
解决办法
961
查看次数

标签 统计

c++ ×1

data-structures ×1

language-lawyer ×1

linked-list ×1

xor ×1