【2018.05.05 C与C++基础】C++中的自动废料收集:概念与问题引入

在阅读C++语言的设计与演化一书时,作者多次提到希望能设计出一个自动废料收集,然而出于种种考虑,始终未将自动废料收集纳入标准讨论中,而是由Coder自己考虑是否在程序中实现废料收集。

当然了,许多Java-Coder在比较C++和Java时经常会提到C++中没有类似Java的自动废料收集功能,导致Coder必须在内存管理上耗费大量的精力,稍有不慎就会导致memory leakage甚至系统崩溃。

语言的各种特性必然有其存在的理由,我们在享受指针带来的便利特性的同时,必须要保持足够的警惕,否则memory-leak或invalid pointer会让我们的热情逐渐消退。

虽然Java提供的Garbage Collector有其天生的缺陷,但这一功能在目前的一些应用场景中确实非常方便,所以在C++中引入自动废料收集机制是可行的,并且可以在基于当前的标准及库上实现,不需要修改语言定义或者是要求编译器进行扩展。

一. 参考资料及致谢

1. C++中的废料收集

https://yq.aliyun.com/wenji/99886

2. 推荐一款纯正的C++垃圾收集器

https://www.zhihu.com/question/51852685?from=profile_question_card

3. C++设计模式之单例模式下的实例自动销毁(垃圾自动回收器)

https://www.cnblogs.com/liuroy/p/5616264.html

 

posted @ 2018-05-06 00:00  waitingdeng  阅读(247)  评论(0编辑  收藏  举报