Functors: Cov Khoom Ua Haujlwm hauv C ++ Ob C thiab C ++ txhawb nqa kev ua haujlwm, uas muab txoj hauv kev los hla cov lus qhia txog kev ua haujlwm li cas. Tab sis cov ntsiab lus ua haujlwm yog txwv vim tias cov haujlwm yuav tsum tau teev meej tag nrho ntawm lub sijhawm sib sau.
siv cov txiaj ntsig yog dab tsi?
Ib yam khoom ua haujlwm, lossis lub luag haujlwm, yog txhua yam uas siv tus neeg teb xov tooj. Tus neeg teb xov tooj no raug xa mus rau tus neeg teb xov tooj hu lossis qee zaum tus neeg thov kev thov. Lub tsev qiv ntawv C ++ Standard siv cov khoom ua haujlwm feem ntau yog cov txheej txheem txheeb xyuas cov thawv thiab hauv cov txheej txheem.
Vim li cas peb thiaj xav tau cov haujlwm?
Functors muab koj yooj yim dua, ntawm tus nqi ntawm feem ntau siv me ntsis ntxiv nco, ntawm tus nqi ntawm kev nyuaj dua rau kev siv kom raug, thiab ntawm tus nqi ntawm ib co efficiency.
Dab tsi yog cov haujlwm hauv C ++?
A Functor (los yog cov khoom muaj nuj nqi) yog a C ++ chav kawm uas ua haujlwm zoo li kev ua haujlwm. Functors yog hu ua siv tib lub luag haujlwm hu ua syntax. Txhawm rau tsim lub functionality, peb tsim ib qho khoom uas overloads tus neeg teb xov tooj. Cov kab, MyFunctor(10); Zoo ib yam li MyFunctor.
Dab tsi yog binary function?
Hauv kev ua lej, ib qho kev ua binary (tseem hu ua bivariate function, lossis kev ua haujlwm ntawm ob qhov sib txawv) yog ua haujlwm uas siv ob lub tswv yim. Precisely teev, ib tug muaj nuj nqi yog binary yog hais tias muaj tshwm sim li ntawd.