草庐IT

visualize-gradient-boosting-decis

全部标签

c++ - 使用 Boost Python 创建和访问 frozenset

我有一些C++方法有std::set作为参数或返回值。我想将其映射到Pythonfrozenset(或常规set)但似乎没有一种直接的方法可以做到这一点。有谁知道如何完成这项任务。 最佳答案 或者您可以使用std::map而不是std::set,该值可以是例如0。std::map具有与std::set相同的插入/搜索时间复杂度,它还保持键的顺序,它只会使内存膨胀一点。然后你可以使用map索引套件,在python中你可以根据需要隐藏一些包装类中的差异。缺点是您必须稍微修改现有的c++代码。

c++ - 在 boost::ptr_unordered_map 中存储指向 const 对象的指针

我似乎做不到boost::ptr_unordered_map工作-底层实现看起来像是将东西转换为void*.我是否只需要硬着头皮让我的方法包装对此的访问做一个const_cast插入项目时,或者我在这里遗漏了什么?有什么方法可以存储指向const对象的指针(constFoo*)? 最佳答案 看起来这是不可能的。解决方法是包装对ptr_unordered_map的访问.插入方法应该采用constauto_ptr然后执行const_cast插入它。如果您在删除元素时将auto_type交还给客户端代码,则需要从中解压指针并将其传输到co

C++ DX11 应用程序仅在 Visual Studio IDE 中运行

好吧,我在MSDN论坛上提出了这个问题,但尚未收到任何类型的回复,所以我想我应该试试StackOverflow。我目前正在Win7上使用VS2008开发DirectX应用程序。我最近遇到了一个内存分配类的严重内存损坏错误,该错误会占用字节对齐的内存。在此错误期间,我仍然可以运行调试并发布可执行文件,但是它会由于指令损坏或其他原因而崩溃,但它仍会执行一段时间直到崩溃。然后我剥离了整个内存分配类。该应用程序在IDE(发布和调试版本)中运行完美,但我根本无法运行任何可执行文件。他们立即因无响应/停止工作错误而崩溃。而且我不认为这是我的环境,因为我在另一台之前没有问题的计算机上遇到了同样的问题

c++ - 将 boost::log 用于具有额外 'channel' 和 'id' 属性的多线程应用程序的最佳方法是什么

我想将一个多线程应用程序同时登录到控制台和文件,日志行应该是这样的:2011-07-1814:48:51.849100COREW:message100是唯一的id'CORE'是一个channel,我可以有更多的channel,例如数据、网络。'W'表示警告目前我尝试过,大致是:boost::log::sources::severity_loggersevlogger;enumChannel{Core,...};attrChannel.reset(newboost::log::attributes::mutable_constant(Core));boost::log::core::ge

c++ - boost 无锁使用用户定义类型

我尝试使用boost无锁库。但是,出现错误invalidapplicationof‘sizeof’toincompletetype‘boost::STATIC_ASSERTION_FAILURE’当我将模板参数设置为用户定义类型时。有办法解决吗?typedefstructTMsgBuffer{charm_puBuffer[512];size_tm_iBufferLen;}tMsgBuffer;boost::lockfree::fifofifo; 最佳答案 STATIC_ASSERTION_FAILURE源自BOOST_STATIC_

c++ - 如何在 Visual Studio 中打开 C++ 项目文件夹?

我有一个包含许多文件夹的C++项目,并编译为许多不同的可执行文件,我想在VisualStudio中打开整个项目并让它保留我项目的文件夹结构。现在,当尝试创建一个新的VS项目并导入我的非VSc++项目时,它会自动将所有头文件放在一个文件夹中,将源文件放在另一个文件夹中,完全忽略我的文件夹结构。打开不是使用visualstudio创建的C++项目时,如何让visualstudio保留我的文件夹结构? 最佳答案 我想您可以选择项目,然后从SolutionExplorer工具栏中选择ShowAllFiles。然后,您可以从项目目录中包含和排

c++ - boost Asio : waiting until thread_group has processed all posted tasks?

我有一个对象,一旦创建就会在后台执行许多任务,但应该阻塞直到/所有/发布的任务完成。即:structrun_many{boost::asio::io_servicem_io_service;boost::thread_groupm_threads;boost::asio::signal_setm_signals;voidevaluate(std::stringwork,inti){/*...*/}voidrun_tasks(inttasks,std::stringwork){{boost::asio::io_service::workw(m_io_service);//for(inti

c++ - 如何使用 boost::asio 在 http 上进行 POST?

你好,我正在尝试使用boost::asio进行POST,但我无法这样做。我正在看这个示例代码:http://www.boost.org/doc/libs/1_49_0/doc/html/boost_asio/example/http/client/sync_client.cpp如何使用POST而不是GET来编写此代码? 最佳答案 asio在传输层(例如tcp套接字)上工作,而不是在应用程序层上工作。如果您选择广泛使用的http客户端库而不是自己实现http协议(protocol),您的解决方案将更易于维护。SO上经常提到curl、p

c++ - 用于 Visual C++ 的类似 Javadoc 的信息框

是否有任何插件/选项/等。这会告诉我这个:当我将鼠标悬停在VisualStudio2010中的C++函数/方法名称上时?我试过使用视觉辅助X,但函数的信息没有缩进,换行符被忽略,“返回”和“参数”等术语没有粗体或彩色。VS内置的XML注释内容的可读性更差。 最佳答案 如果您有CodeRush/Refactor,您可以尝试使用CR_Documenter插件(使用VSExtensionManager)。它提供了一个带有此类文档的新可停靠窗口。 关于c++-用于VisualC++的类似Java

c++ - 跨线程复制 boost::exception 崩溃

下面的示例代码将boost::exception对象从1个线程复制/传输到另一个线程,由于异常/exception_ptr内部状态销毁期间的竞争条件而崩溃。我不确定解决它的最佳方法是什么。使用的boost版本是1.42,平台是在双核Intelm/c上运行的Ubuntulucid。编译器是gcc4.4.3。#include#include#includestructException:publicvirtualstd::exception,publicvirtualboost::exception{};structMyException:publicvirtualException{};