Как проверить, находится ли значение указателя в заданной области памяти
4 min
Translation
Пусть у нас есть регион/область памяти, заданный с помощью двух переменных, например:
Требуется проверить, находится ли значение указателя в пределах этого диапазона. Возможно, вашим первым побуждением будет написать так:
Но гарантирует ли стандарт ожидаемое поведение этого кода?
byte* regionStart;
size_t regionSize;
Требуется проверить, находится ли значение указателя в пределах этого диапазона. Возможно, вашим первым побуждением будет написать так:
if (p >= regionStart && p < regionStart + regionSize)
Но гарантирует ли стандарт ожидаемое поведение этого кода?