C++11引入了与垃圾收集器交互的接口。据我所见,它提供了一种标准化的方式来与GC进行通信(例如declare_no_pointers),并获取关于如何处理伪装指针的信息(例如get_pointer_safety)。
然而,在C++11中,尚未有一种标准化的方式来分配原始内存块,这样就不必手动释放。即使不调用析构函数,也有一些使用情况会有所帮助。一个例子是实现高效的并发数据结构(Herb Sutter所提到的)而无需处理复杂的清理协议。
到目前为止,还不错。我的问题(从普通开发者的角度出发,而不是GC库开发者的角度):
是否有真实世界的例子表明新的C++11 GC接口对您有所帮助?
至少从我的角度来看,世界没有改变。如果你需要GC,仍然需要寻找一个非标准库,例如Boehm GC,并学习如何集成和使用它。新的标准化接口在这方面帮助并不大,也无法解决可移植性问题。(长期来看,C++11标准定义的通用接口有望产生作用。但是,我的问题只针对即时未来。)