Constexpr yog dab tsi hauv C ++?
Constexpr yog dab tsi hauv C ++?

Video: Constexpr yog dab tsi hauv C ++?

Video: Constexpr yog dab tsi hauv C ++?
Video: Back to Basics: const and constexpr - Rainer Grimm - CppCon 2021 2024, Hlis ntuj nqeg
Anonim

constexpr qhia tau hais tias tus nqi ntawm ib yam khoom lossis ib qho kev ua haujlwm tuaj yeem ntsuas tau ntawm lub sijhawm sib sau thiab cov lus qhia tuaj yeem siv rau hauv lwm cov kab lus tas li. Piv txwv li, hauv qab cov khoom code() raug soj ntsuam ntawm lub sijhawm sau. Hauv C++ 11, a constexpr function yuav tsum muaj tsuas yog ib daim ntawv rov qab.

Ntxiv mus, Constexpr siv rau dab tsi?

Cov constexpr specifier tshaj tawm tias nws muaj peev xwm los ntsuas tus nqi ntawm cov haujlwm lossis qhov sib txawv ntawm lub sijhawm sib sau. Xws li kev sib txawv thiab kev ua haujlwm tuaj yeem ua tau siv qhov twg tsuas sau cov sij hawm tas li tso cai. A constexpr tus qhia siv hauv ib yam khoom tshaj tawm implies const.

Puas yog Constexpr ntsuas? 2 Teb. constexpr functions yuav ntsuas ntawm compile lub sij hawm thaum tag nrho nws cov lus sib cav yog cov kab lus tas li thiab qhov tshwm sim yog siv nyob rau hauv ib qho kev qhia tas li thiab.

Hais txog qhov no, thaum twg kuv yuav tsum siv Constexpr?

constexpr qhia tias tus nqi, lossis tus nqi xa rov qab, yog qhov tsis tu ncua thiab, yog qhov ua tau, suav nrog lub sijhawm sib sau. A constexpr tus nqi ib txwm siv tau txhua qhov chaw uas yuav tsum tau muaj qhov sib npaug, xws li hauv cov lus sib cav thiab cov lus tshaj tawm array.

Puas yog Constexpr functions inline?

Koj tuaj yeem ua nrog constexpr muaj nuj nqi ntau ntawm kev suav thaum sau ua ke. Yog li ntawd, qhov tshwm sim ntawm kev suav yog nyob rau ntawm lub sijhawm ua haujlwm raws li qhov tsis tu ncua hauv ROM muaj. Ntxiv rau, constexpr muaj nuj nqi yog implicit hauv kab . Lub syntax ntawm constexpr muaj nuj nqi tau loj hlob tuaj nrog kev hloov ntawm C ++ 11 rau C ++ 14.