所有实现都放到cpp里面吧，编译器优化也会自动内联
const和括号之间需要有空格