草庐IT

intrusive

全部标签

c++ - Boost.Intrusive 和 unordered_map

我希望使用侵入式unordered_map。由于某种原因,库中只有一个unordered_set。还有一个侵入式哈希表,但我不确定它是否具有相同的功能,也没有相同的接口(interface)。我错了吗,我错过了unordered_map链接?如果我没有,是否有教程可以帮助我实现一个? 最佳答案 这是一个有趣的问题。Boost.Intrusive似乎没有提供任何map接口(interface),无论是有序的还是无序的。它有很多实现类型,可以很好地作为有序(红黑树、AVL树、splay树)和无序(哈希表)映射。但是没有map,我无法告诉

c++ - 如何有效使用Boost的intrusive_ptr?

手动取消引用我对Boost的侵入式指针有疑问。这是booleanconversionoperator检查x.get()!=0.但是,下面的代码在标记点失败。为什么会这样?我猜我可能与deletedoesnotsetapointerto0这一事实有关(或nullptr)。如果不是这样,我怎么能有效地使用侵入式指针呢?我希望能够像常规指针一样使用侵入式指针,例如,在表达式x&&x->foo()中,但这个人工制品似乎排除了它。#include#includestructT{T():count(0u){}size_tref_count(){returncount;}std::atomic_si

c++ - 是否有 boost::weak_intrusive_pointer?

出于遗留原因,我需要使用侵入式指针,因为我需要能够将原始指针转换为智能指针。但是我注意到没有用于boost的弱侵入性指针。我确实在boost线程列表中找到了有关它的讨论,但没有具体内容。有人知道弱侵入指针的线程安全实现吗?谢谢丰富 最佳答案 这没有任何意义。详细说明:weak_ptr指向与shared_ptr相同的counter对象实例。当shared_ptr超出范围时,counter的实例保持不变(有效计数为0),这允许weak_ptr实例检查它们是否有效地指向一个已释放的对象。使用侵入式计数,计数器集成在对象中。当计数达到0时,

java - 为什么 Spring 框架叫 "non-intrusive"?

Spring框架是非侵入性的。你能详细说明一下吗?谢谢你:) 最佳答案 在这里,“非侵入式”意味着您的应用程序代码不需要直接依赖于Spring框架。任何可以注入(inject)适当依赖项的东西(理论上)都可以正常工作。 关于java-为什么Spring框架叫"non-intrusive"?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3068872/

c++ - 数据结构为 "intrusive"意味着什么?

我见过intrusive一词用来描述列表和堆栈等数据结构,但它是什么意思?您能否给出一个侵入式数据结构的代码示例,以及它与非侵入式数据结构的区别?另外,为什么要使其具有侵入性(或非侵入性)?有什么好处?有什么缺点? 最佳答案 侵入式数据结构是一种需要它打算存储的元素的帮助才能存储它们的结构。让我改写一下。当您将某些东西放入该数据结构中时,该“某物”会以某种方式意识到它在该数据结构中的事实。将元素添加到数据结构中会更改元素。例如,您可以构建一个非侵入式二叉树,其中每个节点都有一个对左右子树的引用,以及对该节点元素值的引用。或者,您可以

c++ - c++11 中的 intrusive_ptr

C++11是否有与boost::intrusive_ptr等价的东西?我的问题是我的C++代码有一个C风格的界面。接口(interface)的两端都可以使用C++,但出于兼容性原因,需要公开C接口(interface)。我不能使用std::shared_ptr因为我必须通过两个(或更多)智能指针来管理对象。我无法用boost::intrusive_ptr之类的方法找到解决方案。 最佳答案 Doesc++11havesomethingequivalenttoboost::intrusive_ptr?没有。它确实有std::make_s

c++ - c++11 中的 intrusive_ptr

C++11是否有与boost::intrusive_ptr等价的东西?我的问题是我的C++代码有一个C风格的界面。接口(interface)的两端都可以使用C++,但出于兼容性原因,需要公开C接口(interface)。我不能使用std::shared_ptr因为我必须通过两个(或更多)智能指针来管理对象。我无法用boost::intrusive_ptr之类的方法找到解决方案。 最佳答案 Doesc++11havesomethingequivalenttoboost::intrusive_ptr?没有。它确实有std::make_s
12