Why Function Pointers Allows functions to be: passed as parameters to functions stored in vectors, etc Reduces code repetition