问题标签 [boost]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
3442 浏览

c++ - 为什么 shared_ptr 有一个显式的构造函数

我想知道为什么shared_ptr没有隐式构造函数。这里没有提到它的事实:为此获得 boost::shared_ptr

(我找到了原因,但认为无论如何发布这将是一个有趣的问题。)

0 投票
2 回答
763 浏览

c++ - 在 DLL 中使用时 Boost Spirit 崩溃

我在我的应用程序中使用 Boost.Spirit 和 Boost.Thread 库时遇到了崩溃。仅当我在主线程的进程生命周期内使用 Spirit 解析器时才会发生这种情况。

崩溃发生在退出时,似乎与 Spirit 解析器分配的线程特定存储的清理有关。它可能由于卸载 DLL 的顺序而崩溃,因为线程特定的内存是在已经卸载的 DLL 内分配的。然而,在应用程序本身退出之前,Boost.Thread DLL 不会被卸载。

有没有办法让我强制 Spirit 清除其线程特定的存储,例如当我收到进程分离通知时在我的 dll-main 中?

任何解决方案/提示将不胜感激。

PS!我的平台和设置:

  • 视觉工作室 2005
  • BOOST_ALL_DYN_LINK
  • BOOST_SPIRIT_THREADSAFE
0 投票
2 回答
789 浏览

c++ - 将 boost::any 传递给 boost::bind 的结果

我试图弄清楚如何编写这个函数:

然后,如果我有一些功能:

我可以通过这样做来调用它:

是否可以编写类似我的callFromAnyList函数的东西?你能从返回的类型中检查结果类型和参数类型bind吗?然后打电话any_cast<P1>(*p.begin())等?我试图理解绑定代码,但它有点难以理解,而且看起来他们编写它时并没有考虑到检查。

0 投票
6 回答
7852 浏览

c++ - C++ 智能指针性能

与裸指针相比,使用智能指针,尤其是 boost::shared_ptr 在时间和内存方面的成本更高?对游戏/嵌入式系统的性能密集型部分使用裸指针是否更好?您会建议对性能密集型组件使用裸指针还是智能指针?

0 投票
5 回答
4239 浏览

c++ - 我可以在 uclibc linux 上使用 boost 吗?

有没有人有在基于 uclibc 的系统上运行使用 boost 库的 C++ 应用程序的经验?甚至可能吗?你会使用哪个 C++ 标准库?uclibc++ 可以与 boost 一起使用吗?

0 投票
9 回答
9871 浏览

c++ - std::auto_ptr 或 boost::shared_ptr 用于 pImpl 成语?

当使用pImpl 成语时,最好使用 aboost:shared_ptr而不是 a std::auto_ptr?我确定我曾经读过boost版本对异常更友好?

[编辑] 使用 std::auto_ptr<> 是否总是安全的,或者是否存在需要替代提升智能指针的情况?

0 投票
3 回答
1680 浏览

c++ - boost lambda for_each / 变换拼图

有谁知道为什么

给出:“0 1 2 3 4 5 6 7 8 9”

给出:“1 2 3 4 5 6 7 8 9 10”

?

0 投票
11 回答
71633 浏览

c++ - 为什么要覆盖 operator()?

Boost Signals库中,它们重载了 () 运算符。

这是 C++ 中的约定吗?对于回调等?

我在一位同事的代码中看到了这一点(他恰好是 Boost 的忠实粉丝)。在所有 Boost 的优点中,这只会让我感到困惑。

关于这种超载的原因有什么见解吗?

0 投票
2 回答
3378 浏览

c++ - boost::any_cast - 仅在隐式转换不可用时抛出?

我只想boost::any_cast<T>在类型any没有隐式转换为T. 无论隐式转换如何,如果anyis not的类型,正常行为似乎是抛出异常。T

例子:

谁能告诉我是否有一种简单的方法来获得我想要的功能,或者更好地给我一个很好的理由来解释为什么现有的行为是这样的?

0 投票
8 回答
9168 浏览

c++ - C++ 序列化性能

我正在构建一个分布式 C++ 应用程序,该应用程序需要对在不同进程和计算机之间传递的简单数据结构进行大量序列化和反序列化。

我对序列化复杂的类层次结构不感兴趣,但更多的是发送带有一些简单成员(如数字、字符串和数据向量)的结构。数据向量通常可以是许多兆字节。我担心基于 text/xml 的方法太慢了,我真的不想自己写这个,因为字符串编码和数字字节序等问题会使它比表面上看起来更复杂。

我一直在研究协议缓冲区和 boost.serialize。根据文档,协议缓冲区似乎非常关心性能。从某种意义上说,Boost 似乎更轻量级,因为您没有用于指定数据格式的外部语言,我觉得这对于这个特定项目非常方便。

所以我的问题归结为:有人知道对于我上面描述的典型用例,boost 序列化是否很快?

此外,如果还有其他可能适合此的库,我很乐意听到它们。