Function Pointer Vs Function Object Cpp