草庐IT

if-constexpr

全部标签

c++ - enable_if 添加具有默认参数的函数参数?

我无法理解呈现的第二种情况here.它说:•Scenario2:Addingafunctionparameterthathasadefaultargument:templateyour_return_type_if_presentyourfunction(args,enable_if_t=BAR){//...}Scenario2leavestheparameterunnamed.Youcouldsay::typeDummy=BAR,butthenameDummyisirrelevant,andgivingitanameislikelytotriggeranunreferencedpar

c++ - 使用带有匿名类型参数的 std::enable_if

我尝试将std::enable_if与未使用和未命名的类型参数一起使用,以免扭曲return类型。但是,以下代码无法编译。#includetemplate::value>>Tfoo(){std::cout::value>>Tfoo(){std::cout();foo();}编译器说:7:3:error:redefinitionof'templateTfoo()'4:3:note:'templateTfoo()'previouslydeclaredhereInfunction'intmain()':11:12:error:nomatchingfunctionforcallto'foo()

类型的 C++ constexpr 值

我希望能够通过类型的ID创建switch语句。我发现了一种可以为不同类型提供唯一ID的机制。非常简单:templatestructtype{staticvoidid(){}};templateconstexprconstsize_ttype_id(){returnreinterpret_cast(&type::id);}我认为这会评估为一个常量,我可以将其用作开关的案例。但是当我执行以下操作时出现错误,即case表达式不是常量:intmain(void){size_ta=type_id();switch(a){casetype_id():break;}return0;}为什么不是常量?

c++ - 重载函数以获取 true_type 或 false_type 参数与使用 if 检查?

与使用一个if语句相比,重载方法/函数以采用true_type或false_type参数有什么好处吗?我看到越来越多的代码使用带有true_type和false_type参数的重载方法。使用if语句的简短示例voidcoutResult(boolmatch){if(match)cout与使用重载函数相比:voidcoutResult(true_type){cout 最佳答案 您的第二个示例代码无法编译,这是编译时重载解析和运行时条件分支之间“选择”哪个不同的症状要执行的代码。“重载函数以获取true_type或false_type参

c++ - 大 if else 语句

如果有一个大的(大约100多个)ifelse语句,如下所示,并且ifelse条件可能是不规则的(例如,一些依赖于3个变量,一些依赖于4个),有没有办法让它变得更简单?基本上我有一个大约100多行的表,其中a、b、c和d作为列。基于a、b、c和d,我需要执行3种不同类型的功能。该表描述了一组业务规则。uint8a;uint8b;uint16c;uint8d;if(a==1&&b==1&&c==0){functionA();}elseif(a==5&&b==5&&c==2&&d==2){functionB();}elseif(a==1&&(b==36||b==7)&&c==0){funct

c++ - SSE 内在函数中的 if/else 语句

我正在尝试使用SSE内在函数优化一小段代码(我是该主题的完全初学者),但我对条件的使用有点卡住。我原来的代码是:unsignedlongc;unsignedlongconstant=0x12345678;unsignedlongtable[256];intn,k;for(n=0;n>1);elsec>>=1;}table[n]=c;}这段代码的目的是计算一个crc表(常数可以是任何多项式,在这里不起作用),我想我的优化代码会是这样的:__m128x;__m128y;__m128*table;x=_mm_set_ps(3,2,1,0);y=_mm_set_ps(3,2,1,0);//of

c++ - 是否保证不会对 if 语句进行不必要的评估?

这个问题在这里已经有了答案:Isshort-circuitinglogicaloperatorsmandated?Andevaluationorder?(7个答案)HowdoesC++handle&&?(Short-circuitevaluation)[duplicate](7个答案)关闭9年前。给定两个具有&&连接的条件。我知道评估的顺序是从左到右。但是,如果第一个条件解析为false,那么第二个条件是否保证不会被评估?#defineSIZEboolarray[SIZE];intindex;//playwithvariables//...if(index在此示例中,如果第一个条件为假

c++ - constexpr 函数不在编译时计算值

我想比较元编程和constexpr在c++0x中的使用。然后我在两个模型中都写了一个fib函数。当我使用元编程模型时,答案打印出来非常快,因为它是在编译时计算的。但是当我使用constexpr函数时,它会在运行时而不是编译时计算值。我使用g++(gcc)4.8。任何人都可以帮助我吗?#includeusingnamespacestd;#defineNUM42templatestructFibonacci{enum{value=Fibonacci::value+Fibonacci::value};};templatestructFibonacci{enum{value=1};};temp

C++ "forgetting"该变量在用作函数参数时是 constexpr

我有以下代码,编译器无法看到作为参数传递给函数的变量是constexpr,这让我很恼火,因此我必须使用arity0函数而不是1参数函数。我知道这不是编译器错误,但我想知道是否有可以解决此问题的习语。#include#includestaticconstexprstd::arrayarr{11,22,33,44,55};templatestaticconstexprvoidcopy_if(constC&rng,Pp,Yyi3ld){for(constauto&elem:rng){if(p(elem)){yi3ld(elem);}}}//templatestaticconstexpraut

已解决:Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy

安装了新版AndroidStudio,开始跑一个项目时,出了如下错误:Connectiontimedout:connect.IfyouarebehindanHTTPproxy,pleaseconfiguretheproxysetting意思是连接超时:连接。如果您在HTTP代理之后,请配置代理设置看了网上的几种解决方案,都没有太适合的,于是自己在设置中,,搞了一下代理(改了一下,之后在下方检查连接也是没有问题的,显示successful),解决问题。贴一下:大连东软信息学院镜像服务器地址:http://mirrors.neusoft.edu.cn端口:80