17得票2回答
C++ STL容器如果没有异常处理机制就无法使用,我们该怎么办?

C++ 的目标是“你所使用的,你需要为之付出代价”。然而,由于异常及其在 STL 中的广泛使用,这可能会相当具有破坏性。 在任何人说“只需打开异常”之前,我们必须认识到编程环境并不总是如此慷慨。对于我来说,我的编程环境是内核编程,执行环境没有提供足够的 C++ 运行时来解开堆栈等操作。 当...

16得票3回答
C++ CRTP及从基类访问派生嵌套的typedef

编辑: 当我完成我的设计更改时,我会在这里放一个github链接,供有兴趣的人使用。 背景 我正在用自己的实现替换boost::intrusive中的intrusive_set,因为64位编译的intrusive-set将3个8字节指针塞入了我的容器节点。我的容器限制为2^16节点,因此我...

11得票2回答
Boost.Intrusive和unordered_map

我想要使用一个侵入式的unordered_map。但是库中只有一个unordered_set。还有一个侵入式的哈希表,但我不确定它是否具有相同的功能,而且它的接口也不同。 如果我错了并且错过了unordered_map的链接,那请告诉我。 如果我没有错,是否有教程可以帮助我实现一个unorde...

7得票3回答
提升式侵入式链表钩子

Boost::Intrusive库中基本钩子和成员钩子的区别是什么,何时使用其中一个比使用另一个更好? 我已经阅读了Boost文档,但并没有很好的解释。

7得票3回答
为什么intrusive_ptr和shared_ptr不能与boost::intrusive容器一起使用?

boost::intrusive文档介绍了如何在intrusive容器中使用智能指针,但随后又表示你不能使用最有可能使用的智能指针,"它必须具有与原始指针相同的所有权语义。这意味着不能使用资源管理智能指针(例如boost::shared_ptr)"。 为什么会这样?我想不出任何明显的理由禁止...