草庐IT

hit-boosted

全部标签

c++ - boost asio 超时

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Howtosetatimeoutonblockingsocketsinboostasio?我之前读过一些关于超时的条目,但我不明白。我想要一个定义的连接超时。连接代码如下所示:try{boost::asio::ip::tcp::resolverresolver(m_ioService);boost::asio::ip::tcp::resolver::queryquery(link.get_host(),link.get_scheme());boost::asio::ip::tcp::resolver::ite

c++ - 为 MSVC 预构建的 Boost 1.37

我找不到为Boost1.37.0预构建的一组MSVC++库,只能找到源代码。我不明白他们古怪的构建系统是如何工作的……有什么地方可以下载visualstudio项目之类的吗? 最佳答案 BoostProComputing人们维护Windows的Boost安装程序,但他们通常需要几周时间才能将新版本上线。尚未发布1.37。没有VisualStudio解决方案(记住,Boost面向许多平台),尽管也努力支持buildingBoostwithCMake.我不确定他们在1.37上走了多远,但我相信这个过程还处于早期阶段。然而,标准构建系统并

c++ - 有没有办法让 Asio 在没有 Boost 的情况下工作?

我知道有一个版本的ASIO不包含在Boost命名空间中,但即便如此,ASIO仍然依赖于Boost,但我想知道是否有一种方法可以让ASIO在不依赖于Boost的情况下工作(因为我由于太多原因,不能将Boost包含到项目中)。 最佳答案 不,我不这么认为。自从我听说ASIO以来,它一直在使用boost。我认为它们之间的联系非常紧密。但是您可能对工具感兴趣,bcp,它允许您提取要使用的库所需的最小boost子集。 关于c++-有没有办法让Asio在没有Boost的情况下工作?,我们在Stack

c++ - boost Shared_Ptr 分配

为什么我不能这样做?boost::shared_ptrnext;voidQueuList::SetNextPtr(QueuList*Next){boost::mutexmtx;boost::mutex::scoped_locklock(mtx);{//scopeoflock//if(next==NULL)//isthisneededonashared_ptr??next=Next;//WhycanInotassignarawptrtoashared_ptr????}我应该怎么做呢??编辑:当正确分配下一个变量时调用此方法,当QueuList对象由于某种原因被销毁时它仍然会导致错误。我得

c++ - 帮助编译和使用boost c++库

我正在开发一个C++项目,我想在其中使用boost的序列化库。我从boost的主页下载并安装了最新的boost库。当我尝试编译和运行boost的演示序列化示例之一时,我遇到了如下所示的各种错误:/usr/local/include/boost/archive/detail/iserializer.hpp:173:undefinedreferenceto`boost::archive::archive_exception::~archive_exception()'./demo.o:Infunction`voidboost::archive::detail::save_non_point

c++ - 如何在 boost 中获取当前的 UTC 日期?

鉴于这是一个基本问题,我想可能会有重复的问题,但我找不到任何问题。我只是想从boost获取当前的iso_date(比如20110503)。有什么建议吗? 最佳答案 我假设您正在寻找Boost.Date_Time基于解决方案?#include#include#include#include#includestd::stringutc_date(){namespacebg=boost::gregorian;staticcharconst*constfmt="%Y%m%d";std::ostringstreamss;//assumesst

c++ - 在 Boost 的多索引容器中获取非常量迭代器

使用Boost1_33_1,我得到一个错误,暗示我的迭代器是一个const迭代器(因为它不会让我取消引用find()的结果)。$g++bmi_iter_tst.cppbmi_iter_tst.cpp:Infunction‘voidtst(employee_set&)’:bmi_iter_tst.cpp:32:error:invalidinitializationofreferenceoftype‘employee&’fromexpressionoftype‘constemployee’我知道我不应该修改任何键值,我也没有,但我仍然需要非常量访问来修改容器元素中的其他数据。我知道我已经在

c++ - 类型转换 boost::units::quantity 加倍

我需要将数量的值传递给库进行评估。boostunitslibrary在SI中采用双倍值,因此boost单位库在确保该要求方面非常有吸引力。但是,我应该如何将数量转换为双倍值?文档和示例似乎避免了这种情况,因为这样做的目的是维护单位。类似于:quantityp(101.1*kilo*pascals);doubledblP=static_cast(p);//doublevalueinPascals浏览header表明...这是转换为基本类型的正确方法吗?p.value(); 最佳答案 我想你要找的是这个:quantityp(101.1*

c++ - 如何将 boost::any_cast 转换为 std::string

我有这个测试片段#include#include#include#include#includeclasswrapper{intvalue;charcharacter;std::stringstr;public:wrapper(inti,charc,std::strings){value=i;character=c;str=s;}voidget_data(){std::coutcontainer;container.push_back(10);container.push_back(1.4);container.push_back("Mayukh");container.push_ba

c++ - boost 共享指针 : Simultaneous Read Access Across Multiple Threads

我有一个线程A,它分配内存并将其分配给一个共享指针。然后该线程生成另外3个线程X、Y和Z,并将共享指针的拷贝传递给每个线程。当X、Y和Z超出范围时,内存将被释放。但是是否有可能2个线程X、Y在完全相同的时间点超出范围并且引用计数存在竞争条件,因此它不会将其递减2,而只会递减一次。所以,现在引用计数newer下降到0,所以存在内存泄漏。请注意,X、Y和Z仅读取内存。不写入或重置共享指针。长话短说,引用计数是否存在竞争条件,这会导致内存泄漏吗? 最佳答案 boost::shared_ptr使用锁(或无锁原子访问)来确保引用计数以原子方式