草庐IT

ZN5boost

全部标签

c++ - 带有 boost shared_ptr 的自定义(池)分配器

我想从一个池中分配由shared_ptr管理的对象,比如Boost的Pool接口(interface),如何实现? 最佳答案 这是执行您想要的操作的代码(可能无法编译,因为我手头没有boost并且我正在从内存中编写它):classYourClass;//yourdatatype,definedsomewhereelseboost::object_poolallocator;voiddestroy(YourClass*pointer){allocator.destroy(pointer);}boost::shared_ptrcreat

c++ - 使用 boost::future 和 "then"延续

C++11std::futurelacksthen方法将延续附加到future。Boostboost::futureprovides这个,还有一个example(我无法运行)我只是无法编译:#include#include#includeboost::futurejoin2(conststd::string&realm){boost::promisep;p.set_value(23);returnp.get_future();}intmain(){boost::futuref=join2("realm1");//here,I'dliketousef.then(..)f.wait();s

c++ - Visual Studio 2017、Boost 和 CMake 的版本号

FromtheBoostmailing列表我了解VS2017有以下我们可能最感兴趣的版本号:VisualStudio15.0cl;C/C++Compiler19.10PlatformToolset:v141以下宏在VisualStudio2017IDE中定义:CrtSDKReferenceVersion14.0MSBuildToolsVersion15.0PlatformToolsetVersion141VCToolsVersion14.10.25017VisualStudioVersion15.0在编译期间,以下变量被#define'd:_MSC_VER1910_MSC_FULL_V

c++ - Boost 计划选项示例

在程序选项的boost在线教程中:http://www.boost.org/doc/libs/1_39_0/doc/html/program_options/tutorial.html#id2891824它说完整的代码示例可以在“BOOST_ROOT/libs/program_options/example”目录中找到。我不知道这是在哪里。谁能帮我找到示例? 最佳答案 在Debian系统上,您可以在/usr/share/doc/libboost-doc/examples/libs/program_options中找到它。否则,我建议

c++ - C++11 是否改变了显式调用 std::swap 以确保找到位于 ADL 的交换的行为,例如 boost::swap?

背景考虑以下代码:#includenamespacens{structfoo{foo():i(0){}inti;private:foo(constfoo&);//notdefined,foo&operator=(constfoo&);//non-copyable};voidswap(foo&lhs,foo&rhs){std::swap(lhs.i,rhs.i);}}templatevoiddo_swap(T&lhs,T&rhs);//implementationtobedeterminedintmain(){ns::fooa,b;do_swap(a,b);}在C++03中,do_swa

c++ - Boost::asio - 如何中断阻塞的 tcp 服务器线程?

我正在开发一个多线程应用程序,其中一个线程充当从客户端接收命令的tcp服务器。线程使用Boost套接字和接受器等待客户端连接,从客户端接收命令,将命令传递给应用程序的其余部分,然后再次等待。代码如下:voidServerThreadFunc(){usingboost::asio::ip::tcp;boost::asio::io_serviceio_service;tcp::acceptoracceptor(io_service,tcp::endpoint(tcp::v4(),port_no));for(;;){//listenforcommandconnectiontcp::socke

c++ - 如何在没有 boost::timer 的情况下以毫秒为单位计时

我正在使用不包含boost::timer的boost1.46,还有什么其他方法可以为我的函数计时。我目前正在这样做:time_tnow=time(0);time_tafter=time(0);cout但它只是在几秒钟内给出答案,所以如果函数花费谢谢 最佳答案 在linux或Windows中:#include#includeintmain(int,constchar**){std::clock_tstart;start=std::clock();//yourteststd::cout祝你好运;)

c++ - Boost随机数生成器

有没有人有最喜欢的boost随机数生成器,你能解释一下如何在代码中实现它。我正在尝试让mersennetwister工作,并想知道是否有人偏爱其他人。 最佳答案 此代码改编自http://www.boost.org/doc/libs/1_42_0/libs/random/index.html的boost手册:#include#include"boost/random.hpp"#include"boost/generator_iterator.hpp"usingnamespacestd;intmain(){typedefboost::

c++ - Boost 的最佳组件是什么?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭10年前.我一直在浏览Boost库的1.38.0修订版,试图确定那里是否有足够的珠宝来证明我公司的外部软件批准流程的谈判是合理的。在编写测试程序和阅读文档的过程中,我得出了几个结论当然,并非Boost中的所有内容都可以在我的工程团队中使用更重要的是,其中一些库看起来比其他库更精致事实上,有些库在我看来有点像玩具。我可以看到一些相当容易访问的库在经过很短的调查后

c++ - boost 是否具有比 STL 更简单的集合操作数据类型?

我找到theC++STLmethod做简单的集合操作使用起来很笨拙。例如,要找出两组之间的差异:std::setnewUserIds;set_difference(currentUserIds.begin(),currentUserIds.end(),mPreviousUserIds.begin(),mPreviousUserIds.end(),std::inserter(newUserIds,newUserIds.end()));std::setmissingUserIds;set_difference(mPreviousUserIds.begin(),mPreviousUserId