C++参考手册提到了一个名为fancy pointers的概念。我是从最近一个被严重踩和删除的问题中了解到它们的存在。
定义相当模糊:
当成员类型指针不是原始指针类型时,通常称之为“fancy pointer”。
他们的使用案例示例是:
一个fancy pointer的例子是映射地址无关指针boost::interprocess::offset_ptr,它使得可以在共享内存中分配基于节点的数据结构,例如std::set,并将其映射到每个进程中的不同地址的内存映射文件中。通过类模板std::pointer_traits,可以独立于提供它们的分配器使用fancy pointers。
我不理解这个解释。创建fancy pointer的语法是什么,为什么我不能在这种情况下使用普通指针?