Указатели могут быть объявлены как указывающие на изменяемые (не-константные)данные или указатели на константные данные.
Указатели могут быть определены для указания на функцию.
Мои коллеги и я обсуждали использование "const" с указателями, и возник вопрос относительно использования const
с указателями на функции.
Вот несколько вопросов:
typedef void (*Function_Pointer)(void); // Pointer to void function returning void.
void function_a(Function_Pointer p_func); // Example 1.
void function_b(const Function_Pointer p_func); // Example 2.
void function_c(Function_Pointer const p_func); // Example 3.
void function_d(const Function_Pointer const p_func); // Example 4.
Приведенные выше объявления являются примерами обращения с указателем на функцию как с указателем на встроенный тип.
Данные, переменная или указатель памяти допускают вышеуказанные комбинации.
Итак, вопросы :могут ли указатели на функции иметь те же комбинации и что подразумевается под указателем на константную функцию (, такую как пример 2)?