如今,C++在计算机编程领域已经走得太远了。作为一种强大的语言,由于其庞大的功能库,有时会使程序员感到困惑。内联函数是其中之一,很容易与语言中的宏混淆。
两者之间并不是有细微的差别,但是由于它们拥有的属性,它们可能会使您感到困惑。在本文中,我们将讨论更多有关C++中内联函数和宏之间的区别的信息。
内联
内联函数与C++中的任何其他函数一样,也以常规方式调用。它执行的功能是创建已编译功能定义的副本。也就是说,它将创建要编译的已定义项目的副本。如果我们要添加两个整数并将其称为内联函数,则可以举一个例子,编译器将创建要编译的整数的副本。
示例:
inline int sum (int x, int y)
{
return (x+y);
}
宏
C++中的宏在程序行中实现文本替换。即,它们根据功能中定义的更改替换文本。与内联函数不同,宏使用函数来操作代码。例如:
#define DOUBLE(X) X*X
int y = 5;
int j = DOUBLE (++y);
在这里将得到值为30
。由于调用是通过宏完成的,因此“X”已替换为++y
,这使得++y
乘以y
。这样得出的总数为5 * 6
,即30而不是6。6
是基本答案,但这是错误的答案。
现在,宏可能会在这里引起错误。因此,内联函数可以通过将值复制到编译器的内存中然后进行编译来解决。
总结
- 内联函数创建函数定义的副本。
- 宏将替换功能中标识和定义的文本。
- 当宏应该导致程序中的错误时,也可以使用内联函数。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:内联和宏
本文链接:https://www.vsdiffer.com/vs/inline-vs-macro.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。