C: https://www.it610.com/article/1293740252736856064.htm C++: https://www.zhihu.com/question/379789314/answer/1082007099