1.内联函数在编译时展开,宏在预编译时展开
2.在编译的时候,内联函数可以直接被镶嵌在目标代码中,而宏只是一个简单的文本替换。
3.内联函数可以完成诸如类型检测,语句是否正确等编译功能,宏就不具有这样的功能。
4.宏不是函数,inline函数是函数,
5.宏在定义时,要小心处理宏参数,否则容易出现二义性,而内联函数定义时不会出现二义性。
*
补充:内联函数本质上 就是空间换时候,代码替换------ 减少调用的开销-------增加代码量----内存增大。
2023-05-19 03:37:48 阅读次数:89
1.内联函数在编译时展开,宏在预编译时展开
2.在编译的时候,内联函数可以直接被镶嵌在目标代码中,而宏只是一个简单的文本替换。
3.内联函数可以完成诸如类型检测,语句是否正确等编译功能,宏就不具有这样的功能。
4.宏不是函数,inline函数是函数,
5.宏在定义时,要小心处理宏参数,否则容易出现二义性,而内联函数定义时不会出现二义性。
*
补充:内联函数本质上 就是空间换时候,代码替换------ 减少调用的开销-------增加代码量----内存增大。
上一篇:Qt实现桌面右下角放置窗体
下一篇:Lc面试题1710主要元素
模板函数一般不能声明定义分开,但是普通函数函数就可以,为什么呢?那就要先介绍一下在软件开发过程中,从源代码到可执行程序,通常会经历预处理、编译、汇编、链接的这四个主要步骤。
C++语言从入门到精通——封装
C++从入门到精通——静态成员以及静态成员函数
C++从入门到精通——数据类型
实现Hello, world! 的方式
【QML】QML与C++混合编程
图像中的计算往往是矩阵之间的运算,所以矩阵乘法具有重要的意义。
如何将vectror<char>转换成string(C++)
每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议的功能。
Globe是从Point派生来的,Point从抽象基类Shape派生类的。只要派生类中的虚函数声明和抽象基类中的虚函数的声明完全一样,那么无论派生几代,其虚函数都可以帮助类实现多态化。
文章
24092
阅读量
2858506
2024-10-18 06:07:46
2024-10-17 08:21:21
2024-10-17 08:21:21
2024-10-17 08:21:21
2024-09-25 10:14:09
2024-09-24 06:31:02
2023-05-15 10:00:33
2023-03-08 10:27:24
2023-04-18 14:14:13
2023-02-07 10:34:04
2023-03-30 09:59:46
2023-03-14 11:26:53