草庐IT

ZN5boost

全部标签

c++ - boost.python 中没有

我正在尝试翻译以下代码d={}d[0]=None使用boost.python进入C++boost::python::dictd;d[0]=?None如何在boost.python中获取None对象? 最佳答案 boost::python::object的构造函数没有采用PyObject*(据我了解,如果映射,这样的ctor将使整个想法无效无论如何,Python类型转换为C++类型,因为PyObject*可以是任何东西)。根据documentation:object();Effects:Constructsanobjectmanagi

c++ - boost::any/std::any 是否就地存储小对象?

为了容纳任意大的对象,boost::any/std::any肯定需要为对象分配堆空间。但是,对于大小小于或等于指针(int,char,bool,...)的小型类型,any可以将值原地存储在指针槽或其他一些就地内存,而不分配堆空间。但是实现会这样做吗?我有一个场景,我经常将小类型存储在any中,有时只存储较大的类型,例如strings。代码很热,因此我在问这个问题。如果不执行优化,我可能会更好地使用自己的实现来就地存储小类型。 最佳答案 没有保证,但[any.class]中的C++17草案状态那个Implementationsshou

c++ - Boost 最新版本兼容 VC++6 是什么?

与MicrosoftVisualC++6兼容的Boost库的最新版本是什么?能提供一个链接直接下载吗?下载链接位于http://www.boost.org仅提供版本1.36.0的下载,并且该版本的文档将VisualC++7.1列为测试的Microsoft编译器的最低版本。他们会清除旧版本的下载吗? 最佳答案 boost1.34.1已经用vc6测试过了。旧版本仍然可用。 关于c++-Boost最新版本兼容VC++6是什么?,我们在StackOverflow上找到一个类似的问题:

c++ - 如何将 boost::ptime 转换为字符串

我在将ptime对象从boost转换为要传递给函数的字符串时遇到问题。关于将boost时间对象输出到字符串(主要是cout),我发现了多个类似的其他线程,但我在它们上发现的都没有工作。看来最简单的方法是将ptime对象插入到字符串流中,然后使用字符串流的字符串。正如其他线程上的一些答案所暗示的那样,我还尝试为字符串流注入(inject)time_facet。但是,我无法创建time_facet对象。它给了我类模板的参数列表丢失的错误。令人困惑的是,互联网上没有任何地方提到time_facet的参数列表,甚至boost的文档页面也显示time_facet的默认构造函数仅仅是time_fa

c++ - 我应该如何初始化 boost::array?

我正在尝试理解boostarray.code可以从作者的网站上轻松阅读。在设计原理中,作者(NicolaiM.Josuttis)提到以下两种类型的初始化是可能的。boost::arraya={{1,2,3}};//Line1boost::arraya={1,2,3};//Line2在我对g++(4.1.2版)的实验中,第1行可以正常工作,但第2行不行。(第2行产生以下内容:warning:missingbracesaroundinitializerfor'int[4]'warning:missinginitializerformember'boost::array::elems')不过

c++ - 在 MacOS X 中使用 c++11 和编译的 Boost 库难题

我正在尝试编译一个广泛使用c++11标准的c++项目。仅使用-std=c++11一切顺利,直到我尝试使用unordered_map并且MacOS在usr/include中的任何位置都没有unordered_map头文件。我做了一些研究,发现使用-stdlib=libc++可以修复它(不知道如何解决,如果包含文件不在文件系统中,这对我来说似乎很神奇)。它确实做到了。它编译得很好,但链接器无法链接到我的程序也广泛使用的boost::program_options。如果没有-stdlib=libc++,可以完美boost链接,但我会丢失unordered_map。我应该怎么做才能使用MacO

c++ - 为什么 boost 包含两个不同版本的 strong_typedef.hpp?

当我最近在构建一个项目时,我注意到我收到了关于重新定义BOOST_STRONG_TYPEDEF宏的编译器警告(变成错误)。经过进一步调查,我注意到boost中包含两种不同版本的strong_typedef.hpp:一种在顶层,一种在serialization/中。这两个版本之间实际上也存在差异,而不仅仅是宏的重复版本。顶级版本没有显式地对它的T赋值,而序列化版本则这样做:代码片段:boost/strong_typedef.hpp:Tt;\explicitD(constTt_):t(t_){};\D(){};\D(constD&t_):t(t_.t){}\boost/serializat

c++ - 数组大小元函数 - 它在某处 boost 吗?

我在blog上找到了以下模板:templatestructarray_info{typedefTtype;enum{size=N};};它是sizeof(a)/sizeof(a[0])的优雅替代品。获取数组大小的常用构造肯定应该在库中的某个位置。我不知道一个。谁能告诉我这个功能在某个地方的标准库和/或Boost中?最好是易于使用且轻便的形式。 最佳答案 我最终自己找到了答案——boost::size():#includeintarray[10];boost::size(array);//returns10不过,现在您可能应该使用st

c++ - 讨论了哪些 boost 库包含在 C++17 中?

对于典型的编程需求,C++11是一个伟大的里程碑——我们用标准库替换了95%的Boost代码。然而itslibraries的现状如何?标准库中尚未涵盖的内容?由于需要Signals2和Lockfree,我开始怀疑。 最佳答案 我不会重复在网络、算法、文件系统、变体等方面已经做过的事情。但是,我可以讨论您关于信号2的观点以及更多内容。Boost.Signals2Boost.Signals2过去曾由N2086提出以纳入TR2。实际上它更像是Boost.Signals2和libsigc++之间的混合。从我读到的内容来看,人们相当赞成将信号

c++ - Boost vector 与 STL vector

如何boost::numeric::ublas::vector和std::vector比较运行效率?假设我可以从使用std::vector转换整个程序是否安全?使用boost::numeric::ublas::vector只需写:#includeusingnamespaceboost::numeric::ublas;而不是#include?我可以像在所有方面都是STLvector一样使用boostvector吗?从执行函数使用boostvector?他们使用相同的迭代器吗?它们在C++0x中工作吗?它们适用于基于范围的循环吗? 最佳答案