之前学习了基本的函数指针;函数指针有多种用途;下面看一下函数参数化;
函数参数化是指通过函数指针将函数的某些行为参数化。这样可以在调用函数时动态地指定函数的行为。
新建一个单文档工程;下述增加的函数声明加到视类cpp文件的头部,函数体加到视类cpp文件的尾部,在OnDraw()函数中调用输出;
void process_array(int *, size_t , int (*process)(int));
int increment(int );......void CHshcshhView::OnDraw(CDC* pDC)
{CHshcshhDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCString str1;int col=0;int array[] = {100,200,300,400,500};size_t size = sizeof(array) / sizeof(int);process_array(array, size, increment);for(size_t i=0; i<size; i++){str1.Format("%d", array[i]);pDC->TextOut(20+col*50, 50, str1);col = col + 1;}
}......void process_array(int *array, size_t size, int (*process)(int))
{for(size_t i=0; i<size; i++) {array[i] = process(array[i]);}
}int increment(i