Previous works do not relate to function pointers, but reading some documents reading and learning STL functions lets me know the pointer of functions is broadly used in functions such as XXX_if(). I don't think it's really that difficult, but it really confused me at the beginning point that why do we have to include such a useless characteristic in our nicely-organized language..
Functions lists:
count_if
find_if
remove_if
remove_copy_if
replace_if
replace_copy_if