Вы можете вычислить расстояние между двумя указателями (вычесть один указатель из другого), если оба указателя указывают на элементы в одном и том же массиве или на один конец одного и того же массива.
Если два указателя соответствуют этому ограничению, то да, абсолютное значение разности между двумя указателями не может превышать ((size_t)(-1)) / sizeof(T)
, поскольку size_t
должно быть достаточно широким, чтобы представлять размер любого объекта в байтах.
Если эти два указателя не соответствуют этому ограничению, тогда вообще нет никакой гарантии.