а еще люди не понимают указатели
Да, рекурсия и указатели, почему-то, ходят рука об руку в разделе "самые сложные вещи при изучении программирования". Но указатели все-таки не так просты, как кажутся. Окей, как они работают - это можно понять. Но какие будут эффекты при неправильном использовании, - это уже не везде сообщают и не полностью охватывают. Не только же segfault бывает от чтения инвалидного указателя.
(А уж правила инвалидации итераторов (сиречь, указателей) в С++ просто жесть)