草庐IT

visualize-gradient-boosting-decis

全部标签

c++ - 用 g++/bison/boost::variant 编写的解析器编译速度很慢

我用bison编写了一个verilog解析器,并使用boost::variant来存储每个规则的每个变体的所有不同情况。我用一个小例子,BNF表达式规则,来展示我的数据结构:expression:primary|expression+expressionprimary:(expression)|number存储它的数据结构是:typedefboost::variant,std::shared_ptr,>expressiontypedefboost::variant,std::shared_ptr,>primary类exp1/2和prim1/2用于存储expression和primary

c++ - boost spirit : Difference between operators "%=" and "="

我不明白这两个运算符之间的区别。让我们举一个例子,将像"AA,BB,CC,DD"这样的输入解析成字符串vector。namespaceqi=boost::spirit::qi;classmy_grammar:publicqi::grammar{public:my_grammar():base_type(start){usingqi::_1;usingqi::char_;start=*(char_-qi::lit(','));}qi::rulestart;};据我所知,a%=b等同于a=b[_val=_1]。这很清楚。但另一方面,解析器*(char_-qi::lit(','))具有std

c++ - 类模板继承在 GCC 中编译失败,但在 Visual Studio 中有效

有人能告诉我为什么以下代码在VisualStudio2010中完美运行,但在gcc5.3中无法编译,尽管它看起来没有任何问题?我已经进行了一些谷歌搜索,但没有找到描述模板类继承的清晰标准方法。#include#includenamespacefoobar{templateclassbasic_foo{public:inlinebasic_foo(){}virtual~basic_foo(){}typedefstd::basic_stringstr_foo;enum{fooEnum=100};};templateclassbasic_bar:privatebasic_foo{public

c++ - Visual Studio C++ 性能与英特尔 C++ 编译器 15

VisualStudio2015在C++编译器方面有很多变化,我正在寻找英特尔C++编译器和VisualStudio2015之间的基准/性能比较!关于性能,我指的是生成代码的性能,像这样:https://software.intel.com/en-us/c-compilers/iss是否有兴趣使用英特尔C++编译器?它会产生更快的代码吗?谢谢 最佳答案 几年前,我在带有intelproc的mac-pro上做了一些测试。结果:icc+linux创投+赢icc+wingcc+linuxicc+linux是最好的。vc+win,icc+w

c++ - 将库 (.lib) 链接到 Visual Studio 2013 项目

我按照link的说明构建了库.为了将该库链接到VisualStudio,我使用了以下方法,但它们都不能链接到我构建的.lib文件。Windows系统变量添加动态库路径(Environmentvariables->Path)设置为;C:\Users\venushka\Desktop\libxbee3-win32\libVisualStudio(包含头文件和源文件C++)配置属性->C/C++->常规->附加包含目录设置为C:\Users\venushka\Desktop\libxbee3-win32链接库配置属性->链接器->常规->附加库目录设置为C:\Users\venushka\D

c++ - boost::shared_ptr<string> 标准集

我有一组boost::shared_ptr,我希望它不是通过共享指针而是通过字符串来排序和唯一化的。我是否必须提供一个新的比较函数来获取共享指针并比较内容,或者已经存在我可以使用的比较器? 最佳答案 这非常具体,因此您可能需要一个自定义比较器。这应该有效:structpointercompare{booloperator()(constboost::shared_ptr&a,constboost::shared_ptr&b){return(*a)>(*b);}} 关于c++-boost:

c++ - 来自 Voronoi 的 Delaunay boost : missing triangle with non-integral point coordinates

遵循这两个资源:BoostbasictutorialSOQuestion我用boost写了一个Delaunay三角剖分。如果点坐标是完整的(我生成了几个随机测试并且我没有观察到错误),它工作正常。但是,如果这些点不是整数,我会发现许多不正确的三角剖分缺少边缘或错误的边缘。例如这张图片是用四舍五入的值构建的并且是正确的(见下面的代码)但是这个图像是用原始值构建的并且是不正确的(见下面的代码)这段代码重现了这两个例子(没有显示)。#includeusingboost::polygon::voronoi_builder;usingboost::polygon::voronoi_diagram

c++ - 如何在 boost::spirit::qi 中将某些语义 Action 排除在 AST 之外

我尝试使用boost::spirit::qi解析大量文件。解析不是问题,但有些文件包含我想跳过的噪音。构建一个简单的解析器(不使用boost::spirit::qi)验证我可以通过跳过行首不匹配规则的任何内容来避免噪音。因此,我正在寻找一种方法来编写基于行的解析器,在不匹配任何规则时跳过行。下面的示例允许语法在完全不匹配的情况下跳过行,但是“垃圾”规则仍然插入一个空的V()实例,这是不需要的行为。在示例中使用\r而不是\n是有意的,因为我在文件中同时遇到了\n、\r和\r\n。#include#include#include#include#include#include#includ

c++ - 如何调试 Visual C++ 运行时错误

我正在VisualStudio2008中编写一个C++COM对象,它是一个InternetExplorer浏览器帮助程序对象。最近在IE中运行时,IE开始频繁弹出标题为“MicrosoftVisualC++RuntimeLibrary”的对话框,错误信息为“RuntimeError!”并继续说“该应用程序已请求运行时以不寻常的方式终止它。请联系该应用程序的支持团队以获取更多信息。”与往常不同的是,这个对话框只有一个OK按钮而没有调试按钮,所以IE然后终止,我没有留下太多堆栈跟踪,甚至没有提示我的代码的哪一部分可能有如此多的错误。我不确定它在我的代码中哪里崩溃了。如何解决“运行时错误”问

c++ - 有没有办法结合 Qt-Creator + Boost 库?

我想知道是否有办法在Qt-creator(Qt的IDE版本)中使用boost库。谢谢,A. 最佳答案 我很确定QtCreator不需要在您的应用程序中使用Qt。如果您不想链接到任何Qt库,或在任何头文件上运行MOC(您只需要对QObject的子类执行此操作),那么只需执行QT-=coregui(从链接命令中删除Qt库。也许QT=也可以),并且不要指定任何HEADERS.祝你好运,如果有效请回传。 关于c++-有没有办法结合Qt-Creator+Boost库?,我们在StackOverfl