结论:要有系统整体的概念 你单独一个对象处理解决不了什么问题
内存不是不管,是要从设计上考虑清楚,而不是精细到每个微观的地方去管,内存管理在大一点的系统中,一定要分层管理。一定要尽量做到, 某一大件任务完成后,内部不管有什么问题,内容都不会出错就行了。
比方说,操作系统就不会操心你一个用户进程有没有内存泄露. 大不了把进程杀掉一了百了. 操作系统绝对不会一个个 shared_ptr 去释放。
设计的框架不解决这个问题(内存分层隔离) 随便一个丢出去。。绝对死
另外把一个庞大的工程细化到一大堆平级的微观颗粒去管理,无论你在微观层面做的如何健壮都是不够的
纯 malloc free的粒度控制 太低端了。
C++ 那些东西就是加强微观层面的健壮 治标不治本 没办法治本,只能做限制 。
语言本身就有自己的问题,要规避 会用才能治本。
C犯错的几率小一点而已 ,C++犯错的机会大,尤其是觉得自己懂得