什么时候应该为强异常安全努力呢?
以前天真的以为使用RAII来保证new-delete必定成对使用就能防止内存泄露
现在发现如果实现一个分配器类<T>,alloc时分配节点,然后用placement new初始化T
如果placement new失败,此时节点已经生成,于是异常造成僵尸节点
这个节点直到分配器析构前都会存在,因为alloc失败了,没有对象为之free
换句话说,如果这个分配器是静态全局的,那其实也算内存泄露了
这样就很尴尬了,如果我要回去审查其它部分的代码(好多),哪些地方还会可能有这种情况呢?