编译时间点:宏函数在预处理阶段被展开,而内联函数在编译阶段被展开。 类型检查:宏函数没有类型检查,而内联函数在编译阶段进行类型检查。 作用域:宏函数在展开时直接替换,没有作用域限制,而内联函数的作用域受到函数定义的限制。 宏函数可能存在副作用:宏函数在展开时可能会产生副作用,例如宏函数中的参数可能会被...
另外,内联函数也是C和C++中一种重要的编程技术。与宏定义类似,内联函数也是用来提高程序运行效率的。不同的是,内联函数是通过将函数的代码直接嵌入到调用它的地方来消除函数调用的开销。在函数定义前加上关键字 inline,如 inline void function() {;},就可以将这个函数声明为内联函数。使用内联...