Существуют очень конкретные случаи, которые предписывают их использование, например, передача метода класса в API C, для которого требуется указатель функции или средство для создания определенных шаблонов, таких как Singleton. Как правило, вы не хотите использовать один, если нет веской причины.
В противном случае им не рекомендуется, поскольку их использование за пределами некоторых ограниченных случаев подразумевает наличие глобальных данных, так как они не имеют автоматического доступа к указателю 'this'. Это нарушает принципы ОО, такие как сокрытие данных.