Нет никакого смысла в указателях вообще. Они нужны для специальных
задач, а не для пользовательского кода. В остальных случаях нужны
скорей итераторы. И даже пара итераторов, указывающих на границы
диапазона, который можно только сужать, но не расширять. Тогда
ошибку в принципе допустить невозможно. И даже если в контроллер
затянуть std::span, то на производительности это практически не
скажется. Реализацию std::span (отсутствующего в древнем тулчейне
для мк) можно поискать на github.com или на codereview.stackexchange.com.
Например: https://github.com/martinmoene/span-lite