Как можно было сделать то же самое, но при помощи традиционной обработки массива?
А что такого по вашей ссылке не традиционного в смысле обработки массива? Там вполне традиционные операции.
Видимо вы привыкли, что обращение к элементам массива это arr[i]. Но это лишь один из вариантов.
Вариант примененный в коде по ссылке - инкремент указателей - просто смещает указатель на следующий элемент массива. По идее это должно работать немного быстрее, чем arr[i].
Кстати, принцип работы итераторов в C++ std как раз тот же самый, что использован тут. Так что можете считать, что dest и src это итераторы по строке :-)
Если очень хочется, то можете переписать код с применением индексации. Ничего сложного в таком преобразовании кода нет.
По ссылке, реализован аналог strcat, но эта функция (так же как и функция по ссылке) может приводить к выходам за пределы массива, т.к. тут вообще ни как не контролируется размеры массивов. Было бы интересно реализовать аналоги strncat или strncat_s.