Дружба — это магия в программировании
Слайд с заголовком «Обсуждение: дружба это магия» в шутливой форме сравнивает статические функции и функции-друзья в программировании. В тексте говорится, что статические функции безопаснее, а функции-друзья могут нарушать инварианты класса, особенно если речь идёт о целых классах. Внизу справа показаны персонажи «My Little Pony» на фоне радуги. Иллюстрация усиливает каламбур: дружба действительно связана с магией, но попытка заводить друзей в коде почти всегда приводит к ошибкам.
Обсуждение: дружба это магия • Статические функции более безопасны. Они являются частью интерфейса класса и их пишет разработчик, который заботится о сохранении инвариантов. • Функции-друзья обычно пишет кто-то другой и они могут нарушать инварианты как хотят. • Особенно опасно дружить с целыми классами. • В целом дружба часто бывает связана с магией и заводя себе друзей вы почти всегда ошибаетесь. 61