The same function name is used for various instances of function call.
It also has the effect of preventing derived classes from using that particular function name and parameter combination.
The function name ought to be reserved for use with definition (so should not remove duplicates).
Thus, the same function name can refer to different functions depending on the context in which it is used.
Note that the function name does not have to be unique, considering overloaded functions.
A type signature includes at least the function name and the number of its arguments.
Typical type information in a function name looks like this:
In the C code snippet above, the function name has file scope.
The first character of the function name can be an underline (or a number)
It's safer not to have spaces between the function name and the opening bracket.