[Перевод] Как проверить, находится ли значение указателя в заданной области памяти

Пусть у нас есть регион/область памяти, заданный с помощью двух переменных, например:

byte* regionStart;
size_t regionSize;

Требуется проверить, находится ли значение указателя в пределах этого диапазона. Возможно, вашим первым побуждением будет написать так:

if (p >= regionStart && p < regionStart + regionSize)

Но гарантирует ли стандарт ожидаемое поведение этого кода?
Читать дальше →
[Перевод] Как проверить, находится ли значение указателя в заданной области памяти
Source: habrahabr