https://blog.csdn.net/zhanghow/article/details/53463825 benefits of using a typedef https://blog.csdn.net/libing403/article/details/73402411
https://blog.csdn.net/u012677715/article/details/78312795