Скорее всего, разница в производительности чрезвычайно мала. Вы могли бы профиль, делая каждый вариант несколько раз и посмотреть. Убедитесь, что в тесте настроены оптимизации вашего компилятора.
Что касается хранения парных чисел, вы можете получить некоторое снижение производительности, используя const. Насколько велик ваш массив?
Что касается использования арифметики указателей, это может быть быстрее, да.
Вы можете мгновенно оптимизировать, если вы знаете, что левый <правый в вашем прямоугольнике (конечно, это должно быть). Если x <left, он также не может быть> вправо, поэтому вы можете вставить «else».
Ваша большая оптимизация, если она есть, будет вызвана тем, что вам не придется проходить все элементы в вашем массиве и не нужно выполнять 4 проверки для всех из них.
Например, если вы проиндексировали или отсортировали свой массив по x и y, вы сможете, используя бинарный поиск, найти все значения, у которых есть x