花式指针是啥样的?

Posted

技术标签:

【中文标题】花式指针是啥样的?【英文标题】:How does a fancy pointer look like?花式指针是什么样的? 【发布时间】:2017-04-18 12:24:56 【问题描述】:

C++ 参考文献提到了一个名为fancy pointers 的概念。我是从最近一个被严重否决且随后被删除的问题中了解到它们的存在的。

定义比较模糊:

当成员类型指针不是原始指针类型时,通常称为“花式指针”。

他们的用例示例是:

一个花哨指针的例子是与地址无关的映射 指针 boost::interprocess::offset_ptr,这使得可以 在共享内存中分配基于节点的数据结构,例如 std::set 和内存映射文件映射在每个不同的地址 过程。花式指针可以独立于分配器使用 通过类模板 std::pointer_traits 提供它们。

我不明白那个解释。创建精美指针的语法是什么?为什么在这种情况下我不能使用常规指针?

【问题讨论】:

当社区编辑出错时... 我的观点是任何像指针一样的东西,但不是。几乎所有迭代器都是自定义类类型,但它们的行为就像指针一样(有时存在限制,您无法执行指针支持的所有操作)。类似于指针的抽象是 fancy pointer. 另一个问题的核心是,unclear 关于被问及的内容(没有提及该术语的出现位置或上下文) .另外,我不会认为“花式指针”是一个常用术语。 @crashmstr 好吧,如果它在 C++ 参考中,这似乎很常见。 引入这个无意义的“术语”的编辑是here。我不知道该用户是在开玩笑还是在认真,但这种愚蠢已经够了。 【参考方案1】:

花哨的指针只是一个术语,用于表示类似指针但不是指针的东西。以迭代器为例。几乎所有迭代器都是自定义类类型,但它们的行为就像一个指针(有时存在限制,你不能执行指针支持的所有操作,因为它们不提供随机访问,但这是幻想的一部分。)

换句话说:像指针一样的抽象是一个花哨的指针

【讨论】:

以上是关于花式指针是啥样的?的主要内容,如果未能解决你的问题,请参考以下文章

怎么在keil中使用gvct()函数,添加头文件的话自己还要编写gcvt()函数吗?是的话程序是啥样的呢?

是啥样的测试?巢穴

OBEX 协议是啥样的?

它是啥样的数据?

对于数组结果,optimisticResponse 是啥样的?

GraphQL 文件上传请求应该是啥样的?