Можно ли проверить, указывает ли данный указатель на объект внутри массива, заданный его границами?
template <typename T>
bool points_within_array(T* p, T* begin, T* end)
{
return begin <= p && p < end;
}
Или сопоставление указателей вызывает поведение undefined, если p
указывает за пределы массива? В этом случае, как я могу решить проблему? Работает ли она с указателями void? Или это невозможно решить?