Плюсы : глубокое понимание того, как машина использует память, разница между (и ловушками) указателей на данные в куче по сравнению с указателями на данные в стеке, передача методов адрес и т. д.
Минусы : комплекс для аудитории, которая еще не обладает знаниями (или не имела достаточно времени для усвоения концепций) компьютерной архитектуры, включая то, что такое стек, что такое регистры, соглашения о вызовах и т. Д.
Итак, подведем итог: это во многом зависит от вашей аудитории и от языка (ов), с которым вы будете работать (указатели будут бессмысленными в контексте LISP или Java), а также от насколько глубоко вы готовы идти в направлении кучи, что такое стек, как область видимости переводится в стек (т. е. почему никогда не возвращать указатель на локальную переменную) и т. д.
Когда я преподавал указатели для инженерного класса, я в конечном счете запустил отладчик в простой программе «hello world» и показал учащимся фактический машинный код, значения регистров и соответствующие дампы памяти, с манипулированием стеком и передачей параметров, и т.д., но они были готовы к этому. Будет ли ваша аудитория восприимчива к такой экспедиции для углубленного изучения, чтобы обеспечить четкое понимание того, что происходит за кулисами, и будет ли вы готовы пойти на такие шаги? :)