正题:
1.对于动态分配的内存:
①使用malloc申请,free释放
②使用new([])申请,delete([])释放
2.文件描述符:使用相应的构造函数和close释放(Linux下,Windows下文件描述符称为句柄,本质是相同的)
3.锁:待补充
引申:
1.使用exit方法退出时:
如果对象是局部对象,exit()函数不会调用对象的析构函数,因为不存在栈空间回收问题
如果对象是全局变量,会调用对象的析构函数
如果是动态建立的对象,除非手动删除,否则不会调用对象的析构函数
关于exit方法和return的对比:https://blog.youkuaiyun.com/firefly_2002/article/details/7960595
2.Linux下使用kill杀死进程,进程的资源将由内核释放,但并不推荐将这种方式作为首选,正如你所见,它实在不够优雅