Разбираем, зачем передавать в функции указатели
T*, как читать сигнатуру как контракт, и почему ветка с
nullptr — это не «дырка», а честный дизайн. Сравним nullable‑вход и обязательный указатель (через проверку или
assert), научимся писать
try_*-функции со статусом
bool и out‑параметром, и закрепим всё на мини‑практике с контактной книжкой.