python if elae,在Python中if…elif…elif…结构中必须包含else子句
functiontemplatenumericstd:3360累加和(1)模板类hhdjy,classtaccumulate ) HHDjyfirst,hhdjy last,TiNi类T,classbinaryoperationaccumulate(HHDjyfirst,hhdjy last,T init,binaryoperationbirate accumulatedevaluesinrangereturng
defaultoperationistoaddtheelementsup,但是不同的操作可以指定不同的binary _ op。
thebehaviorofthisfunctiontemplateisequivalentto:
123456789模板类hhdjy,classtaccumulate(HHDjyfirst,hhdjy last,T init ) { while } first!=last(init=init * first;//或者:init=binary_op(init,*first)为二元运算版本优先;}返回init}
参数首先,lastinputeratorstotheinitialndfinalplocationsinasequence。使用的范围是[名字,姓氏,其中包含已售出,包括elementpointedbylast。累加器的初始值。binary _ op binary operation entendelementintherageassecond,以及哪个返回并返回一个andwhichreturnsavaluethatcanbeasignedtotypet。
此caneitherbeafunctionpointerrofunctionobject。
operations不应修改yelementspassedasits参数。
returnvaluetheresultofaccumulatinguintalltheelementin范围[第一个,最后一个。
例123456789101121314151617181920223242526272829303132/积累例# include iostream//STD 3360360 cout # STD 33333330 STD:accumulateintmyfunction(intx,int y){ return x 2 * y;}struct myclass {int运算符(()int x,int y)){ return x 3 * y;} } my object int main(){ int init=100;int numbers [ ]={ 10,20,30 };STD:cout 使用默认累计:;STD : cout STD : accumulate (numbers,numbers 3,init);STD:cout \ n ;标准:cout 使用函数的减号:;STD : cout STD : accumulate (numbers,numbers 3,init,STD:MINUS int));STD:cout \ n ;STD:cout usingcustomfunction:;STD : cout STD : accumulate (numbers,numbers 3,init,my function);STD:cout \ n ;STD:cout usingcustomobject:;STD : cout STD : accumulate (numbers,numbers 3,init,my object);STD:cout \ n ;返回0;}编辑跑步记录
输出:
使用默认值累积3360160使用函数的减:40 usingcustomfunction 3360220 usingcustomobject 3360280 complexitylinninal
dataracestheelementsintherange[名字,姓氏]被访问(eachelementisaccessedexactlyonce)。
异常抛出。
notethinvalidargumentscauseundefinedbehavior。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。