前面两个f是同名函数,但参数不同决定了它们是两个函数,然后使用template语法来构造g函数,使得调用这个函数传入的参数类型决定调用哪一个f函数,这就是一个静态多态的表现