草庐IT

boost_process

全部标签

c++ - Qt 是否有自己的 boost::optional 替代方案?

Qt是否有自己的boost::optional替代方案,还是我应该只使用boost::optional? 最佳答案 Qt有一个“变体”类型,但没有“可选”类型。我认为boost::optional(或者,在较新的C++版本中,std::optional)是一个合理的选择。 关于c++-Qt是否有自己的boost::optional替代方案?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

c++ - boost asio 和 coroutine2 示例

在阅读coroutine2的文档时,我发现了一个不错的snippet显示如何将其与asio一起使用的代码引用文档中的代码:voidsession(boost::asio::io_service&io_service){//constructTCP-socketfromio_serviceboost::asio::ip::tcp::socketsocket(io_service);try{for(;;){//localdata-bufferchardata[max_length];boost::system::error_codeec;//readasynchronousdatafrom

c++ - 如何从 boost::ptr_vector 中删除元素

所以我试图通过使用boost::ptr_vector摆脱我的std::vector。现在我试图从一个元素中删除一个元素,并删除已删除的元素。对我来说最明显的事情是:classA{intm;};boost::ptr_vectorvec;A*a=newA;vec.push_back(a);vec.erase(a);但这甚至无法编译(完整的错误信息见下文)。我已经像在std::vector上一样尝试了删除/删除习惯用法,但boost::ptr_vector的所有算法结果都与std::vector中的算法略有不同。所以我的问题:如何从ptr_vector中删除指针?我是否还需要手动delete

c++ - 如何转移 boost::ptr_vector 元素的所有权?

#include#includeusingnamespacestd;usingnamespaceboost;structA{~A(){coutv;v.push_back(newA);A*temp=&v.front();v.release(v.begin());deletetemp;return0;}输出:deleted0x300300deleted0x300300c(6832)malloc:***errorforobject0x300300:doublefree 最佳答案 ptr_vector::release返回ptr_vecto

c++ - 简单高效的C++/Boost源码分发(合并)

我的工作主要是工程分析,但我发现自己越来越频繁地在同事之间分发代码。一个很大的痛苦是并不是每个用户都精通编译源代码的复杂性,而且我无法分发可执行文件。我一直在使用Boost使用C++,问题是我无法请求每个网络的每个系统管理员安装这些库。相反,我想分发单个源文件(或尽可能少的源文件),以便用户可以g++source.c-oprogram。因此,问题是:您能否将Boost库与您的代码打包,并以单个文件结束?我说的是“仅header”或“仅模板”的Boost库。作为灵感,请看SQlite的分布或LemonParserGenerator;作者将这些东西合并到一个源文件中,编译起来很简单。谢谢。

c++ - 在 64 位 VC++ 2010 上用于 boost 的预编译 .libs

在64位VC++2010上是否有用于boost的预编译.libs? 最佳答案 我在http://boost.teeks99.com/找到了完整的一套.从Boost1.43开始,它们包括VS2010。bycomplete,他的意思是完整。VS2003、VS2005、VS2008、VS2010。32/64位+所有标准构建选项。进行完整安装,然后删除不需要的版本。非常轻松的安装。感谢所有从事这项工作的人。 关于c++-在64位VC++2010上用于boost的预编译.libs,我们在Stack

c++ - 如何避免使用 Boost Asio 和 C/C++ 拒绝连接后程序退出

目前,我正在使用BoostAsio以通过TCP连接到服务器。我使用条件案例来决定应用程序是否必须启动或不与服务器建立连接;它工作得很好,但问题是,如果我在服务器关闭时尝试连接到服务器,那么应​​用程序崩溃并给出此错误:terminatecalledafterthrowinganinstanceof'boost::exception_detail::clone_impl>'what():Connectionrefused这是我正在使用的代码:caseCONNECTION://Connecttotheserverusingboost::asio::ip::tcp;boost::asio::

c++ - 在构造函数中初始化 Boost shared_ptr

我有一个类,它有一个boost::asio::io_service对象。我希望这个对象存储在boost::shared_ptr中。所以我的标题看起来像这样(我去掉了所有不必要的代码,这样就不会分散注意力)classCommandDispatcher{private:boost::shared_ptrm_ioservice;public:CommandDispatcher();};当我现在创建CommandDispatcher的对象时,我希望为指针初始化一个io_service对象。现在我不太清楚该怎么做。我查找了两种不同的解决方案,但只有一种有效,我不太确定它是否合适。但是你自己看看:

c++ - 使用 Boost.Spirit 在 C++ 中解析 SQL 查询

我已经创建了一个数据库引擎,我可以在其中创建和修改表,并将它们添加到数据库中。为了解析SQL查询,我使用EBNF形式实现了Boost.Spirit库。我正确设置了解析器,它成功地解析了每条规则。我的问题是我现在不知道如何将两者结合起来。Boost.Spirit解析器仅验证输入是否正确,但我需要它来实际做某事。我查找了语义操作,但它们似乎无法处理我正在寻找的内容。例如,如果我有这样的查询:new_table我希望它使用规则验证输入,然后调用函数TableDatabase::Select(Tablet,Conditionc){...}并将标记作为参数传递。如何集成解析器?

c++ - boost::units 中的毫米

我想对某些SI指标使用boost::units。但是我们的代码主要处理毫米而不是使用quantityvalue=1*milli*meter;我们更喜欢这样的东西quantityvalue=1*millimeter;但是我不确定如何定义“毫米”(不使用#define)。其次,使用前缀单元的开销是多少?更新:这需要在没有C++11功能的情况下运行(即没有UDL) 最佳答案 C++11确实是最简单的解决方案。你可以做staticconstautomillimeter=milli*meter;或autooperator""_mm(longd