указатель на const против обычного указателя (для функций)
Есть ли разница между указателем на const и обычным указателем для функций? Когда целесообразно использовать квалификатор const для автономных функций?
Я написал короткий образец, чтобы проиллюстрировать мой вопрос:
#include <iostream>
using namespace std;
int sum( int x, int y ) { return x + y; }
typedef int sum_func( int, int );
int main()
{
const sum_func* sum_func_cptr = ∑ // const function
sum_func* sum_func_ptr = ∑ // non-const function ?
// What is the difference between sum_func_cptr and sum_func_ptr
int x = sum_func_cptr( 2, 2 );
cout << x << endl;
int y = sum_func_ptr( 2, 2 );
cout << y << endl;
sum_func_cptr = 0;
sum_func_ptr = 0;
return 0;
}
G ++ не дает никаких предупреждений. Вот почему я спрашиваю.