草庐IT

visualize-gradient-boosting-decis

全部标签

c++ - boost ASIO 并发度

我正在学习使用BoostASIO。这是从chatexample复制的一些代码与BoostASIO文档一起提供,typedefstd::dequechat_message_queue;classchat_client{public:chat_client(boost::asio::io_service&io_service,tcp::resolver::iteratorendpoint_iterator):io_service_(io_service),socket_(io_service){boost::asio::async_connect(socket_,endpoint_iter

c++ - boost::optional<std::string> 和来自 char[] 的隐式构造函数

我已经习惯了通过让编译器找出所涉及的魔法来以下列方式初始化std::stringsstd::stringmy_string="hello";以下将不起作用,因为两种类型之间没有显式转换:boost::optionalmy_optional_string="hello";但这确实有效:boost::optionalmy_optional_string=std::string("hello");现在,难道没有办法菊花链隐式调用的单参数构造函数以允许第二种形式吗?我问的原因(虽然我不想用细节打扰你)是有一大堆类需要填充可选成员。必须显式输入所有内容似乎是一种负担(我不太担心自己,但我正在开发

c++ - 是否有 auto_ptr 的替代品可以与 c++11 中的 boost ptr_map 一起使用

在c++11中,auto_ptr已弃用,取而代之的是更合理的unique_ptr。唉,如果你使用boost::ptr_map,auto_ptr就完成了一个非常方便的用途:std::auto_ptrpLayer(newLayer());mRawLayerPtrMap.insert(layerName,pLayer);是否有可能使用与c++11类似的东西。这个我知道Layer*pLayer=newLayer();mFusedLayers.insert(fusedLayerName,pLayer);有效,但auto_ptr在一些更复杂的场景中有它的优点。是否有适用于C++11的替代品?

c++ - boost::asio 中的未经请求的消息使应用程序崩溃,没有 SSL 它工作正常,为什么?

我想通过SSL连接发送未经请求的消息。这意味着服务器不是基于客户端的请求发送消息,而是因为发生了客户端需要知道的某些事件。我只是使用来自boost站点的SSL服务器示例,添加了一个在10秒后发送“hello”的计时器,在计时器到期之前一切正常(服务器回显的一切),也收到了“hello”,但是之后,应用程序在下次向服务器发送文本时崩溃。对我来说更奇怪的是,当我禁用SSL代码时,使用普通套接字并使用telnet执行相同的操作,它工作正常并且继续正常工作!!!我第二次遇到这个问题,我真的不知道为什么会这样。下面是我为演示问题而更改的全部源代码。在没有SSL定义和使用telnet的情况下编译它

c++ - 将现有的 .h 和 .c 文件添加到 Microsoft Visual Studio 2010 C++ 项目

我想在我的MSVS2010C++项目中使用一些预先编写的.h和.c文件。这些是我想在我的项目中使用的库的源文件。我去了并将.h文件添加到我的MSVS解决方案中的“HeaderFiles”文件夹,并将.c文件添加到“SourceFiles”文件夹。但是,当我使用include"sample.h"包含其中一个.h文件时,它无法识别该头文件。我需要做什么才能让MSVS识别添加的文件?感谢您的帮助。 最佳答案 将header的路径添加到项目设置中的Extraincludedirectories。将现有文件添加到项目中实际上并不会复制文件。它

c++ - Boost -gd 库文件

构建boost库(这样我就可以使用文件系统命名空间)后,我在stage/lib文件夹中找到了以下名称中包含文件系统的文件:libboost_filesystem-vc100-mt-1_51(838kb)libboost_filesystem-vc100-gd-mt-1_51(4210kb)注意第二个中的-gd。我还在括号中输入了尺寸。那么,有什么区别呢?我使用哪一个? 最佳答案 -gd用于库的调试版本。使用-gd-mt构建调试配置,使用-mt构建发布配置。 关于c++-Boost-gd库

c++ - 在容器中存储 boost::function 对象

我有一个KeyCallbackvector:typedefboost::functionKeyCallback我用它来存储按下键盘按钮时的所有监听器。我可以使用for_each添加它们并将事件分派(dispatch)给所有回调,但我不知道如何从我的vector中实际删除特定的KeyCallback签名。例如我想要这样的东西:voidInputManager::UnregisterCallback(KeyCallbackcallback){mKeyCallbacks.erase(std::find(mKeyCallbacks.begin(),mKeyCallbacks.end(),cal

c++ - boost::msm - 一种获取状态的字符串表示形式(即 getName)的方法?

我正在尝试使用boost::msm库在我的代码中创建一个状态机。有谁知道获取状态的字符串名称(不是intid)的方法?我正在尝试将其用于日志记录/调试目的。例如在no_transition函数中,我得到了状态ID,但我试图得到一个名称以便于阅读:templatevoidno_transition(Eventconst&e,Fsm&fsm,intstateId){//ThisiswhatI'mtrying:autostate=fsm.get_state_by_id(stateId);//Thisreturnsaboost::msm::front::default_base_state.A

c++ - Visual Studio 2012 + qt + clang,可以吗?

是否真的可以使用VisualStudio作为IDE,使用Qt作为框架库,使用clang作为内部编译器?我不知道这是否真的可行,但这将确保我拥有最好的IDE、最好的编译器和最好的GUI框架 最佳答案 这是可能的。用于集成Qt的VisualStudio插件:http://qt-project.org/forums/viewthread/23169允许使用ClangC/C++编译器的VisualStudio插件:https://github.com/ishani/ClangVSx 关于c++-

c++ - Visual Studio 2010 项目文件过滤器

我正在处理一组复杂的C/C++应用程序,这些应用程序应该也是平台独立的。到目前为止,是否与UNIX/Windows兼容并且运行良好。然而,在VS2010上维护这个怪物是一场噩梦。我有以下文件结构:/sourceslib1include...src...lib2include...src...app3include...src...builderscmake...make...VS2010vs2010.slnlib1lib1.vcxprojlib1.vcxproj.filterslib2lib2.vcxprojlib2.vcxproj.filtersapp3app3.vcxprojapp