草庐IT

template-matching

全部标签

c++ - regex_match (""8 秒,regex (".{40000}"));?

更新2:实际上是regex(".{40000}");。仅此一项就已经花费了那么多时间。为什么?regex_match("",regex(".{40000}"));在我的PC上花费将近8秒。为什么?难道我做错了什么?我在i7-6700上的Windows10上使用来自MinGW的gcc4.9.3。这是一个完整的测试程序:#include#include#includeusingnamespacestd;intmain(){clock_tt=clock();regex_match("",regex(".{40000}"));cout我如何编译和运行它:C:\Users\...\coding>

c++ - Xcode C++ vector : Implicit instantiation of undefined template

我在不同的IDE上运行这段代码,它成功了。出于某种原因,我在Xcode上收到上述错误消息。我假设我缺少某种标题,但我不确定是哪一个。#include#include#include#includeintmain(){vectorlistRestaurants;//error:Implicitinstantiationofundefinedtemplatereturn0;} 最佳答案 Xcode10.2.1向我展示了错误Implicitinstantiationofundefinedtemplate'std::__1::vector,

c++ - 模块 : AHBot (no matching constructor for initialization of 'WorldSession' )

基本上我遇到了这个错误,没有匹配的构造函数来初始化“WorldSession”WorldSession_session(AHBplayerAccount,NULL,SEC_PLAYER,sWorld->getIntConfig(CONFIG_EXPANSION),0,LOCALE_zhCN,0,false,false);^/home/djboxer/Projects/azerothcore/src/server/game/Server/WorldSession.h:188:9:note:candidateconstructornotviable:requires10arguments,

c++ - gcc 与 clang : noexcept parsed in unused template specialization when static casting

我正在尝试将函数指针静态转换为特定函数重载,但似乎clang仍会解析(未使用的)模板特化的noexcept语句,从而生成编译器错误。如果未使用相应的函数重载,GCC似乎并不关心noexcept。templatevoidfun(T)noexcept(T(1)){}voidfun(int){}voidfun(int*){}intmain(){inta;fun(&a);//callingworksfinefun(a);static_cast(&fun);//staticcastingdoesn't}https://godbolt.org/z/ixpl3f这里是哪个编译器出错了?当将函数指针转

c++ - "Name The Template Parameter"奇定义

template//whyisboolhere,classbooltype=bool.Aretheyequivalent?structif_{typedeftypenamettype;};templatestructif_//whatdoesthemean?{typedeftypenameutype;};代码来自一篇名为“命名模板参数”的文章。我无法理解both结构的定义。 最佳答案 编辑:首先移动最重要的部分:if_::type;//thisisintif_::type;//thisisdouble这很方便地定义了一个可以在编译时

c++ - 专门化成员 S::display 需要 ‘template<>’ 语法

我正在创建一个特征类来帮助我的程序。我有一个名为operations的模板类包含方法display和area.当我定义这些函数时,我得到了错误。他们在这里:error:specializingmember‘traits::operations::display’requires‘template’syntaxerror:specializingmember‘traits::operations::area’requires‘template’syntax如您所见,编译器要我插入template就在这些定义之前。但是当我这样做时,我会收到一大页错误。出了什么问题,我该如何解决?这是我的程

c++ - 遍历 cv::Mat 中包含的 cv::Points

我正在使用OpenCV模板匹配在另一幅图像中查找一幅图像。特别是matchTemplate(),它返回包含匹配相似度图的cv::Mat。除了使用minMaxLoc()之外,还有什么方法可以对包含在cv::Mat中的cv::Point进行排序吗?minMaxLoc(result,&minVal,&maxVal,&minLoc,&maxLoc);我试过:cv::Mat_::iteratorit=result.begin();cv::Mat_::iteratorend=result.end();for(;it!=end;++it){cv::Pointtest(it.pos());}成功有限。

c++ - 在类型说明符中使用 "simple-template-id"

在C++11标准中,dcl.type.simple和dcl.type.elab部分声明类型说明符可以包括simple-template-编号。另一方面,根据temp.names部分,simple-template-id可以表示函数模板特化。真的可以使用函数模板特化来指定类型吗? 最佳答案 7.1.6.2/2Theothersimple-type-specifiersspecifyeitherapreviously-declareduser-definedtypeoroneofthefundamentaltypes(3.9.1).强调

c++ - 为什么bitset要用template来实现?

要定义一个16位的位集,就像这样:std::bitsetbs(0x123);如果让我设计一个bitset类,我大概会这样:mine::bitsetbs(16,0x123);std::bitset是由模板实现的有什么原因吗?这是我们应该在某些情况下应用的好模式吗? 最佳答案 Isthereanyreasonthatstd::bitsetisimplementedbytemplate?Isthisagoodpatternthatweshouldapplyinsomesituations?因为std::bitset被设计成一个静态位集。在

c++ - 错误 : Use of class template requires template argument list

当我尝试运行我的程序时,此错误显示为“errorC2955:'FOURTEEN':useofclasstemplaterequirestemplateargumentlist”#includeusingnamespacestd;templateclassFOURTEEN{private:Ta[n];public:voidReadData();voidDisplayData();};voidFOURTEEN::ReadData(){for(inti=0;i>a.[i];}voidFOURTEEN::DisplayData(){for(inti=0;i>a.[i]P;//Readdatai