A function pointer (or subroutine pointer) is a type of pointer supported by third-generation programming languages (such as PL/I, COBOL, Fortran 2003, dBASE dBL, and C) and object-oriented programming languages (such as C++ and D). Instead of referring to data values, a function pointer points to executable code within memory. When dereferenced, a function pointer can be used to invoke the function it points to and pass it arguments just like a normal function call. Such an invocation is also known as an "indirect" call, because the function is being invoked indirectly through a variable instead of directly through a fixed name or address. Function pointers can be used to simplify code by providing a simple way to select a function to execute based on run-time values.
... In some languages, a pointer can reference a function ... The function pointer will store the address location of the function to be invoked ... While this facility can be used to call functions dynamically, It is often the favorite method of virus and other malicious software writers ...
... A C++ typical use of "pointers to functions" is for passing a function as an argument to another function, since these cannot be passed dereferenced // Pointer to functions ...
Famous quotes containing the words pointer and/or function:
“The hardiest skeptic who has seen a horse broken, a pointer trained, or has visited a menagerie or the exhibition of the Industrious Fleas, will not deny the validity of education. A boy, says Plato, is the most vicious of all beasts; and in the same spirit the old English poet Gascoigne says, A boy is better unborn than untaught.”
—Ralph Waldo Emerson (18031882)
“Literature does not exist in a vacuum. Writers as such have a definite social function exactly proportional to their ability as writers. This is their main use.”
—Ezra Pound (18851972)