Указатель на член, как и все функции C ++, просто синтаксический сахар для того, что вы уже могли бы сделать в чистом C.
Указатели на переменную-член довольно просты. Один из вариантов использования - это если вы хотите написать (шаблонную) функцию, которая могла бы сортировать массив структур по любому полю. Передав указатель на член, вы можете получить некоторое указанное поле любого экземпляра структуры без необходимости жесткого кодирования поля. Конечно, вместо этого мог бы использоваться функтор, который принимает указатель на структуру и возвращает значение поля.
Функция указателя на член немного сложнее. На первый взгляд, они похожи на обычные указатели на функции, которые знают, как передавать скрытый указатель «this». Но виртуальные функции делают простую идею довольно сложной.
А виртуальные базовые классы делают все указатели на членов очень сложными. Это не то, что вы хотели бы написать самостоятельно, используя простые конструкции языка Си. Но сложные случаи редки.