C++ тилинде Constexpr деген эмне?
C++ тилинде Constexpr деген эмне?

Video: C++ тилинде Constexpr деген эмне?

Video: C++ тилинде Constexpr деген эмне?
Video: Байбактина А.Т. 1КИКО. Си Структура 2024, Май
Anonim

constexpr объекттин же функциянын мааниси компиляция убагында бааланышы мүмкүн экенин жана туюнтманы башка туруктуу туюнтмаларда колдонсо болорун белгилейт. Мисалы, төмөнкү коддо product() компиляция убагында бааланат. C++ 11де, а constexpr функция бир гана кайтаруу билдирүүсүн камтышы керек.

Андан тышкары, Constexpr эмне үчүн колдонулат?

The constexpr спецификациялоочу компиляция убагында функциянын же өзгөрмөнүн маанисин баалоо мүмкүн экенин жарыялайт. Андай өзгөрмөлөр жана функциялар болушу мүмкүн колдонулган мында компиляция убактысынын туруктуу туюнтмаларына гана уруксат берилет. А constexpr аныктагыч ичинде колдонулат объект декларациясы const дегенди билдирет.

Constexpr бааланат? 2 Жооптор. constexpr функциялары болот бааланган компиляция убагында, анын бардык аргументтери туруктуу туюнтмалар болгондо жана натыйжа туруктуу туюнтмада да колдонулат.

Буга байланыштуу, качан мен Constexpr колдонушум керек?

constexpr маанинин же кайтарылган маанисинин туруктуу экендигин жана мүмкүн болсо, компиляция убагында эсептелерин көрсөтөт. А constexpr интегралдык маани const бүтүн саны талап кылынган бардык жерде колдонулушу мүмкүн, мисалы, шаблон аргументтери жана массив декларациялары.

Constexpr функциялары саптабы?

менен аткара аласыз constexpr функциялары компиляция убагында көптөгөн эсептөөлөр. Демек, эсептөөнүн натыйжасы ROM-да туруктуу болуп иштөө убактысында болот. Кошумча, constexpr функциялары жашыруун болуп саналат inline . синтаксиси constexpr функциялары C++ 11ден C++ 14кө өзгөртүү менен массалык түрдө жакшыртылды.