参考链接:https://pmem.io/2015/06/18/ntx-alloc.html
所用 API 接口:https://github.com/pmem/pmdk/blob/master/src/include/libpmemobj
POBJ_ZNEW() // 从内存池中间分配一个已经归零的新对象
POBJ_ZALLOC() // 同上,只是具体参数不同,详情参考链接
POBJ_NEW() // 从内存池中分配一个新对象并在 return 之前调用构造函数。新对象是已经初始化好的,如果该对象在构造函数完成之前中断,该对象的内存空间就会被自动回收。
POBJ_ALLOC() // 同上,只是具体参数不同,详情参考链接
POBJ_FREE() //释放持久性指针
POBJ_FIRST() // 访问结构体中的第一个对象
POBJ_NEXT() // 访问相同类型的下一个对象
POBJ_FOREACH_TYPE() // 遍历指定类型的每一个对象
POBJ_FOREACH_SAFE_TYPE() // 遍历制定类型中所有安全 variant
文后的 example 自行研究。