У меня есть одно применение для такой вещи в сетевых идентификаторах объектов.Такой идентификатор будет сочетать в себе идентификаторы машины (например, IP-адрес), идентификатор процесса и адрес объекта.Чтобы быть отправленным через сокет, часть указателя такого идентификатора должна быть помещена в достаточно широкое целое число, чтобы оно выдерживало транспорт туда и обратно.Часть указателя интерпретируется как указатель (= приведенный обратно к указателю) в контексте, где это имеет смысл (тот же компьютер, тот же процесс), на других машинах или в других процессах, которые она просто служит для различения различных объектов.
То, что нужно для этой работы, - это существование uintptr_t
и uint64_t
как целочисленного типа с фиксированной шириной.(Хорошо работает только на машинах, которые имеют не более 64 адресов:)