1.内联函数在编译时展开,而宏在预编译时展开 2.在编译的时候,内联函数直接被嵌入到目标代码中去,而宏只是一个简单的文本替换. 3.内联函数可以进行诸如类型安全检查.语句是否正确等编译功能,宏不具有这样的功能. 4.宏不是函数,而inline是函数 5.宏在定义时要小心处理宏参数,一般用括号括起来,否则容易出现二义性.而内联函数不会出现二义性. 6.inline可以不展开,宏一定要展开.因为inline指示对编译器来说,只是一个建议,编译器可以选择忽略该建议,不对该函数进行展开. 7.宏定义在形