C 语言实现智能指针
来源:互联网 发布:淘宝查出刷单要清洗吗 编辑:程序博客网 时间:2024/05/16 03:03
参考 https://snai.pe/c/c-smart-pointers/
attribute ((cleanup(f)): 用于动态分配对象的自动释放,cleanup修饰一个变量在该变量作用域结束后, 自动调用一个指定的方法 f 。所谓作用域结束,包括大括号结束、return、goto、break、exception等各种情况。
下面是实现方法:
#define autofree __attribute__((cleanup(free_stack)))__attribute__ ((always_inline))inline void free_stack(void *ptr) { free(*(void **) ptr);}
int main(void) { autofree int *i = malloc(sizeof (int)); *i = 1; return *i;}
阅读全文
0 0
- C 语言实现智能指针
- 【C++】智能指针的实现
- [c++]智能指针的实现
- 【C++】智能指针auto_ptr的简单实现
- C++(智能指针的设计与实现)
- C语言的萤火虫智能算法实现
- [C/C++] 智能指针的实现及原理
- c++:智能指针
- C++:智能指针
- 【C++】智能指针
- 【C++】智能指针
- C++PJ智能指针
- 【c++】智能指针
- 【C++】智能指针auto_ptr
- C++,智能指针
- C++,boost智能指针
- 智能指针模拟C
- [C++]智能指针
- java项目读取properties的几种方式
- I2C协议
- 自定义ScrollView实现图片下拉放大(弹性效果)+ 悬浮框
- 自动曝光
- POJ 2689 Prime Distance 【大区间筛素数】
- C 语言实现智能指针
- 固定表头和列的方法
- 从0到1 | 0基础/转行如何用3个月搞定机器学习
- mysql的dos命令大全
- 用画小狗的方法来解释Java中的值传递
- 首个《中国大数据人才培养体系标准》正式发布!
- 我为什么鼓励你读博士?
- spring干嘛用的
- 使用vsftpd搭建ftp,用户无法上传文件