2 ビットまたは 3 ビットごとに設定ビットを 64 ビット整数に設定するデータ構造を構築しています。
代わりに、この構造体にポインターを格納することもできれば便利です (それらがツリー内のターミナル ノードである場合、それは関係ありません)。
私の表現 (最上位または 2 番目に上位のビットのいずれかが設定されることを保証する) の目的で、ポインターが最上位の 2 つのビットを決して設定しないと仮定できる場合、つまり、このアサーションが成り立ちます。
void *sixty_four_bit_pointer = a_valid_address();
bool always_zero = 0xC000000000000000 & sixty_four_bit_pointer;
それなら私はこのトリックをすることができます!