1.内联函数在编译时展开,宏在预编译时展开
2.在编译的时候,内联函数可以直接被镶嵌在目标代码中,而宏只是一个简单的文本替换。
3.内联函数可以完成诸如类型检测,语句是否正确等编译功能,宏就不具有这样的功能。
4.宏不是函数,inline函数是函数,
5.宏在定义时,要小心处理宏参数,否则容易出现二义性,而内联函数定义时不会出现二义性。
*
补充:内联函数本质上 就是空间换时候,代码替换------ 减少调用的开销-------增加代码量----内存增大。
2023-05-19 03:37:48 阅读次数:96
1.内联函数在编译时展开,宏在预编译时展开
2.在编译的时候,内联函数可以直接被镶嵌在目标代码中,而宏只是一个简单的文本替换。
3.内联函数可以完成诸如类型检测,语句是否正确等编译功能,宏就不具有这样的功能。
4.宏不是函数,inline函数是函数,
5.宏在定义时,要小心处理宏参数,否则容易出现二义性,而内联函数定义时不会出现二义性。
*
补充:内联函数本质上 就是空间换时候,代码替换------ 减少调用的开销-------增加代码量----内存增大。
上一篇:Qt实现桌面右下角放置窗体
下一篇:Lc面试题1710主要元素
Java中的数组是固定长度的序列,能够存储相同类型的元素。数组在创建时需要指定其大小,不能动态调整。
简单的C++异步编程测试
我们可以通过这个技术分析内存泄漏的调用函数和位置。
下面的代码展示了一个简单的线程池。
C++并发编程练习06 “线程管理之线程对象转移“
C/C++语言基础--C++模板与元编程系列七,元编程三种编程方式
内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费;
c++ dll 与c#数据通信(直接传Mat)
C#是无法直接接收C++的vector的,需要在C++中将vector转换成对应类型的指针数组,再将指针数组传递到C#中
动态链接库C++的Mat转入C#
文章
27958
阅读量
3551850
2024-12-20 07:43:22
2024-12-11 06:42:09
2024-12-11 06:42:09
2024-12-11 06:42:09
2024-12-11 06:24:38
2024-12-11 06:14:38
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