Я всегда задавался вопросом: разве ptrdiff_t
не должен содержать разницу любых двух указателей по определению ? Почему это не удается, когда два указателя расположены слишком далеко? (Я не указываю на какой-либо конкретный язык ... Я имею в виду все языки, которые имеют этот тип.)
(например, вычтите указатель с адресом 1
из байтового указателя с адресом 0xFFFFFFFF
, когда у вас есть 32-битные указатели, и он переполняет знаковый бит ...)