草庐IT

boost-iterators

全部标签

c++ - 你如何在 Windows 上安装 Boost.Build?

http://www.boost.org/boost-build2/doc/html/bbv2/installation.html尝试按照这些说明操作,但它们不起作用。我做了什么:打开cmd.exe;cdC:\BoostBuild\boost-构建.\bootstrap.bat我得到的:C:\BoostBuild\boost-build>.\bootstrap.bat'.\bootstrap.bat'未被识别为内部或外部命令,可运行的程序或批处理文件。 最佳答案 如果您在C:\中下载并解压一个boost拷贝,您应该最终得到一个类似于

c++ - Boost Asio 如何在不使用 SSL 的 SSL 套接字上读/写?

标题是我的问题。我已经在这里找到了与此相关的主题->UsingSSLsocketsandnon-SSLsocketssimultaneouslyinBoost.Asio?基本上我处于相同的情况,但由于某种原因我无法在那里发表评论和/或直接联系提问者所以我将其作为一个新问题来做。我有一个设置好的ssl套接字ssl::streamsocket_;客户可以在这里很好地连接socket_.async_handshake(ssl::stream_base::server,session::handle_handshake)然后用读/写async_write(socket_,buffer(send

c++ - 为什么我在使用 Boost UUID 时会收到来自 Valgrind 的未初始化值警告?

我有一个类(class)成员:std::stringmName;boost::uuids::uuidmId;在我写的构造函数中:mName=boost::lexical_cast(mId);Valgrind写道:==30714==Useofuninitialisedvalueofsize8==30714==at0x69E92FC:???(in/usr/lib/libstdc++.so.6.0.16)==30714==by0x69E93EE:std::ostreambuf_iterator>std::num_put>>::_M_insert_int(std::ostreambuf_ite

c++ - 为什么迭代器在 VS2010 中导致调试非常缓慢,即使 _HAS_ITERATOR_DEBUGGING、_SECURE_SCL、_SECURE_SCL_THROWS 设置为 0

我一直试图找出为什么在Debug模式下调试我们的程序需要这么长时间。在使用xperf查看堆栈的样子后,很明显我们在迭代器和STL容器上花费了大量时间。我在谷歌上搜索了一会儿,找到了选项_HAS_ITERATOR_DEBUGGING=0_SECURE_SCL=0_SECURE_SCL_THROWS=0我用#define在代码中设置所有这些#define_HAS_ITERATOR_DEBUGGING0#define_SECURE_SCL0#define_SECURE_SCL_THROWS0但这似乎没有用,所以我尝试使用visualstudio项目中的预处理器定义,但似乎仍然没有帮助。我已经

c++ - 从 boost::adjacency_list 获取边属性(包括相关顶点)

所以,我今天一定已经看了一个小时的Boost文档了。我一定是瞎了。我希望有一个简单的问题:如何使用boost::adjacency_list获取边的相应顶点?我有以下代码,我想弄清楚:typedefboost::adjacency_listGraph;typedefboost::graph_traits::edge_iteratorEdgeIterator;typedefstd::pairEdgePair;EdgePairep;for(ep=edges(g);ep.first!=ep.second;++ep.first){//Getthetwoverticesthatarejoined

c++ - boost ASIO async_read_some

我在实现一个简单的TCP服务器时遇到了困难。以下代码摘自boost::asioexamples,准确地说是“Http服务器1”。voidconnection::start(){socket_.async_read_some(boost::asio::buffer(buffer_),boost::bind(&connection::handle_read,shared_from_this(),boost::asio::placeholders::error,boost::asio::placeholders::bytes_transferred));}voidconnection::ha

c++ - std::multiset::iterator = NULL 不再有效?

我有一些代码正在使用gcc4.7(从3.1)更新到C++11我有一个multiset定义为一个类的私有(private)成员:multisetobjects_;代码中有一段看起来像这样(p_q是一对多集迭代器,对那句讨厌的行感到抱歉,迫不及待地想用auto替换它,哈哈):voidTerrain::removeObject(Object*obj){pair::iterator,multiset::iterator>p_q;multiset::iteratorp,q;q=NULL;p_q=objects_.equal_range(obj);for(p=p_q.first;p!=p_q.se

c++ - Boost Asio HTTPS 请求给出 'certificate verify failed' 错误

我正在尝试使用C++应用程序中的Boost.Asio通过HTTPS连接读取数据。我正在解决一个类似的SO问题(HTTPSrequestwithBoost.AsioandOpenSSL),但我仍然收到“证书验证失败”错误。我稍微更新了代码-使用Google代替,因为www.mtgox.com网站已经更改并且给我浏览器关于自签名证书的警告。我想Google的证书链不会有这些问题。我已经下载了颁发者证书并从命令行确认它工作正常:openssls_client-showcerts-CApath./certs-connectgoogle.com:443给我:CONNECTED(00000003)

c++ - 为什么 Boost Graph Library 的 `source()` 是一个全局函数?

我理解在泛型编程中,算法与容器是解耦的。因此,将泛型算法实现为实例方法是没有意义的(相同的算法应该适用于多个具体类;我们不想让它们都继承自一个ABC,因为这会以指数方式增加类的数量)。但在source()的情况下BoostGraphLibrary中的函数,我不明白为什么它是全局函数而不是图形类的实例方法。据我所知,我可以通过阅读BGLsourcecode来判断,source(e,g)需要知道传递给它的图和边对象的实现细节;仅仅知道它们的接口(interface)是不够的。所以source()不是通用算法。换句话说,它需要知道图形实例的具体类。那为什么不把它和实例方法放在同一个类中呢?与

c++ - 什么是 boost::optional 效率?

我有以下内容:classObj;typedefstd::mapStrMap;std::map>complexMap;问题是,对于complexMap中的某些条目,StrMap将是空的,我根本不会使用它,因此为了提高效率,我正在考虑使用boost::optional。我的问题是boost::optional的效率如何,我担心付出代价最终会一无所获。 最佳答案 将optional视为可以容纳0或1值的容器。您的map已经是一个可以容纳0到N个元素的容器。因此,可选映射是一个容器中的容器,可以容纳0到N个元素。真的,这里没有任何好处。空m