草庐IT

ZN5boost

全部标签

c++ - 使用 boost::regex 获取子匹配结果

嘿,假设我有这个正则表达式:(test[0-9])+我将其与:test1test2test3test0constboolret=boost::regex_search(input,what,r);for(size_ti=0;i现在,what[1]将是test0(最后一次出现)。假设我还需要获取test1、2和3:我应该怎么做?注意:真正的正则表达式非常复杂并且必须保持一个整体匹配,因此将示例正则表达式更改为(test[0-9])将不起作用。 最佳答案 我认为DotNet有能力制作单个捕获组集合,以便(grp)+将在group1上创建

c++ - unsigned char 的 boost::lexical_cast 和 std::to_string 的正确结果是什么

以下从字符转换为字符串的正确结果是什么?我听说旧的bo​​ost版本1.46lexical_cast输出是56,我附近没有那个版本,我无法测试它。但boostlibrary(1.49)输出为:8unsignedcharc=56;std::strings=boost::lexical_cast(c);std::coutC++11to_string输出为:56std::cout 最佳答案 std::to_string仅提供数字类型的重载,可能解析为unsigned在这种情况下的版本。lexical_cast,OTOH,依赖std::os

C++ boost lambda 库

使用boostlambda库开始编程的最佳方式可能是什么。 最佳答案 在C++语言和库的范围内,我建议首先习惯使用STL算法函数模板进行编程,因为boost::lambda最常见的用途之一是用内联表达式替换仿函数类内联。库文档本身为您提供了一个预先示例,说明它的用途:for_each(a.begin(),a.end(),std::cout哪里std::cout生成一个函数对象,调用时将其第一个参数写入cout溪流。这是你可以用自定义仿函数类做的事情,std::ostream_iterator或显式循环,但boost::lambda以

c++ - Boost初学者,boost::bind噩梦

我有这个header(从boostasio示例重做):#ifndefMSGSRV_H_#defineMSGSRV_H_#include#include#include#include#includenamespacemsgSrv{classmsgSrv{private:asio::ip::udp::socket*asioSocket;asio::io_service*asioIoService;intlistenPort;boost::arrayrcvBuff;asio::ip::udp::endpointlastRcvdPcktEndp;public:msgSrv(intlisten

c++ - 在 Boost.Asio 中获取 HTML 内容的简单界面

有很多示例如何向服务器发出HTTP请求并通过boost.asio库获得回复。但是,我找不到简单接口(interface)的好例子,想知道是否需要自己实现它。例如,如果我需要获取http://www.foo.bar/path/to/default.html的内容,有什么方法可以在不验证URL、发出HTTP请求和解析服务器应答的情况下获取内容?基本上,我正在寻找这样的东西:std::stringstr=boost::asio::get_content("http://www.foo.bar/path/to/default.html");std::coutSimpleHTMLpage!使用b

c++ - boost 正则表达式子字符串匹配

如果模式“regular”是变量st的子字符串,我想返回输出“match”。这可能吗?intmain(){stringst="someregularexpressionsareRegxyzr";boost::regexex("[Rr]egular");if(boost::regex_match(st,ex)){cout 最佳答案 boost::regex_match只匹配整个字符串,您可能需要boost::regex_search。 关于c++-boost正则表达式子字符串匹配,我们在S

c++ - 为什么我不能从函数返回 Boost::Scoped_ptr?

所以我尝试围绕boost.extension函数创建一些包装器来创建类。所以我创建了一个函数:templateboost::scoped_ptrget_class(shared_library&lib,std::stringclass_name,ConstructorTypevalue){map>lib_factories=get_factories(lib);returnboost::scoped_ptrlib_class(lib_factories[class_name].create(value));}调用:templatemap>get_factories(shared_lib

c++ - 为什么 boost 寻找 libboost_*.lib 而不是 boost_*.lib?

我使用标记布局编译了boost库,因此我有boost_program_options-mt.lib形式的库文件。我假设问题是boost_auto_link之类的。我有预处理器定义BOOST_AUTO_LINK_TAGGED,尽管我仍然收到错误消息说VisualStudio正在寻找libboost版本并且无法打开文件。ErrorLNK1104cannotopenfile'libboost_program_options-mt.lib'我该如何解决这个问题才能正确链接到库?UPDATE:Forsomereason,whenIlaunchmyprogram,Igetanerrorsaying

c++ - 如何使用 Boost 的 vf2_subgraph_iso 检测 multimap 上的子图同构?

我正在尝试使用Boost的vf2_subgraph_iso()检测子图同构。我可以在简单的图表上成功做到这一点,但不能在multigraph上做到这一点(允许有多个边的图)。考虑检测以下G1和G2之间的子图同构:G1是G2的子图,我想使用以下代码检测它:#include#include#includeintmain(){//Defineedgepropertytypedefboost::propertyedge_property;//Definegraphtypetypedefboost::adjacency_listMyGraphType;//BuildgraphG1MyGraphT

c++ - Boost.Asio 文档不存在。这些错误是什么意思?

我在使用Boost.Asio时遇到两个错误。第一个发生在我尝试在套接字上接收数据时:charreply[1024];boost::system::error_codeerror;size_treply_length=s.receive(boost::asio::buffer(reply,1024),0,error);if(error)cout第二个发生在我尝试从(有效!)native套接字创建ip::tcp::socket时:boost::asio::io_serviceioserv;boost::asio::ip::tcp::sockets(ioserv);boost::system