草庐IT

ZN5boost

全部标签

c++ - 一旦你采用了 boost 的智能指针,有没有使用原始指针的情况?

我很好奇,因为我开始采用更多的boost惯用语以及似乎是最佳实践的最佳实践那些没有接触过“现代C++”的人? 最佳答案 我几乎不使用shared_ptr,因为我通常避免共享所有权。因此,我使用boost::scoped_ptr之类的东西来“拥有”一个对象,但对它的所有其他引用都将是原始指针。示例:boost::scoped_ptrmy_object(newSomeType);some_function(my_object.get());但是some_function会处理一个原始指针:voidsome_function(SomeTy

c++ - 如何使用带有 boost::ptr_map 的 BOOST_FOREACH?

如何通过boost::ptr_map有效地使用BOOST_FOREACH(字符数/可读性)?Kristo在他的answer中展示了可以将BOOST_FOREACH与ptr_map一起使用,但与使用迭代器迭代ptr_map相比,它并不能真正为我节省任何打字(或使我的代码更易读):typedefboost::ptr_container_detail::ref_pairIntPair;BOOST_FOREACH(IntPairp,mymap){inti=p.first;}//vs.boost::ptr_map::iteratorit;for(it=mymap.begin();it!=myma

c++ - 如何使用带有 boost::ptr_map 的 BOOST_FOREACH?

如何通过boost::ptr_map有效地使用BOOST_FOREACH(字符数/可读性)?Kristo在他的answer中展示了可以将BOOST_FOREACH与ptr_map一起使用,但与使用迭代器迭代ptr_map相比,它并不能真正为我节省任何打字(或使我的代码更易读):typedefboost::ptr_container_detail::ref_pairIntPair;BOOST_FOREACH(IntPairp,mymap){inti=p.first;}//vs.boost::ptr_map::iteratorit;for(it=mymap.begin();it!=myma

c++ - boost::lexical_cast 的替代方案

我正在参加一项挑战,为了切入主题,在我的程序中的一个地方,我需要将字符串转换为整数。我试过boost::lexical_cast但不幸的是它太慢了www。我想是因为它执行的所有检查。我需要的是无需任何检查即可执行此转换的东西(我知道会有有效数字存储为字符串)。顺便说一句,以天真的方式使用stringstream:stringstreaminterpreter;interpreter>number;甚至比boost::lexical_cast还要慢。atoi是唯一的选择吗? 最佳答案 您可以使用sscanf来做到这一点,但我怀疑它比a

c++ - boost::lexical_cast 的替代方案

我正在参加一项挑战,为了切入主题,在我的程序中的一个地方,我需要将字符串转换为整数。我试过boost::lexical_cast但不幸的是它太慢了www。我想是因为它执行的所有检查。我需要的是无需任何检查即可执行此转换的东西(我知道会有有效数字存储为字符串)。顺便说一句,以天真的方式使用stringstream:stringstreaminterpreter;interpreter>number;甚至比boost::lexical_cast还要慢。atoi是唯一的选择吗? 最佳答案 您可以使用sscanf来做到这一点,但我怀疑它比a

c++ - 是否可以将 boost 累加器与 vector 一起使用?

我想使用boost累加器来计算一个vector变量的统计数据。有没有一种简单的方法可以做到这一点。我认为不可能使用最愚蠢的东西:usingnamespaceboost::accumulators;//stuff...accumulator_set,stats>acc;vectorsome_vetor;//stuffsome_vector=doStuff();acc(some_vector);也许这很明显,但我还是尝试了。:P我想要的是有一个累加器来计算一个vector,该vector是许多vector分量的平均值。有没有简单的出路?编辑:我不知道我是否完全清楚。我不想要这个:for_e

c++ - 是否可以将 boost 累加器与 vector 一起使用?

我想使用boost累加器来计算一个vector变量的统计数据。有没有一种简单的方法可以做到这一点。我认为不可能使用最愚蠢的东西:usingnamespaceboost::accumulators;//stuff...accumulator_set,stats>acc;vectorsome_vetor;//stuffsome_vector=doStuff();acc(some_vector);也许这很明显,但我还是尝试了。:P我想要的是有一个累加器来计算一个vector,该vector是许多vector分量的平均值。有没有简单的出路?编辑:我不知道我是否完全清楚。我不想要这个:for_e

c++ - boost - 交叉编译 - "from Linux" "to Windows"

我从他们的主页“www.boost.org”下载了“boost”(1.40.0)源代码。我安装了Linux(Ubuntu9.04Jaunty)并尝试从我的“LINUX”机器将boost库编译为“WINDOWS”版本(例如“.dll”,而不是“.so”)。现在是一个重要的问题:是否有可能从“LINUX”编译到“WINDOWS”BOOST库(如果有人说"is",我会相信他,只有在他之前已经做过的情况下才会在这里写一个对我有用的解决方案。对于这种悲观情绪感到抱歉,但我正在尝试这样做3天,到目前为止没有任何积极的结果)?到目前为止,我已经以这种方式编译了c++程序。为了从Linux编译到Lin

c++ - boost - 交叉编译 - "from Linux" "to Windows"

我从他们的主页“www.boost.org”下载了“boost”(1.40.0)源代码。我安装了Linux(Ubuntu9.04Jaunty)并尝试从我的“LINUX”机器将boost库编译为“WINDOWS”版本(例如“.dll”,而不是“.so”)。现在是一个重要的问题:是否有可能从“LINUX”编译到“WINDOWS”BOOST库(如果有人说"is",我会相信他,只有在他之前已经做过的情况下才会在这里写一个对我有用的解决方案。对于这种悲观情绪感到抱歉,但我正在尝试这样做3天,到目前为止没有任何积极的结果)?到目前为止,我已经以这种方式编译了c++程序。为了从Linux编译到Lin

c++ - 使用 boost::python 将 C++ 类实例传递给 python

我有一个库,它创建对象(A类的实例)并将它们传递给应该能够调用它们的方法的python程序。基本上我有C++类实例,我想从python中使用它们。有时应该将该对象传回C++进行一些操作。我创建了以下包装文件(假设New函数在C++代码中的某处被调用):#include#include#includeusingnamespaceboost;usingnamespaceboost::python;intcalls=0;structA{intf(){returncalls++;}~A(){std::coutexisting_instance;voidNew(){existing_instan