1)内联函数在运行时可调试,而宏定义不可以 2)编译器会对内联函数的参数类型做安全检查或自动类型转换,而宏定义则不会 3)内联函数可以访问类的成员变量,而宏定义则不能 __EOF__
1宏定义在预编译的时候进行字符串替换。内联函数在编译的时候进行函数展开。2宏定义没有类型检查。内联函数会进行参数列表、返回值等类型检查。