Ի՞նչ է Constexpr-ը C++-ում:
Ի՞նչ է Constexpr-ը C++-ում:

Video: Ի՞նչ է Constexpr-ը C++-ում:

Video: Ի՞նչ է Constexpr-ը C++-ում:
Video: C++20 Features - Ջոն Ասատրյան։ Ելույթներ Code Republic-ում 2024, Մայիս
Anonim

constexpr նշում է, որ օբյեկտի կամ ֆունկցիայի արժեքը կարող է գնահատվել կոմպիլյացիայի ժամանակ, իսկ արտահայտությունը կարող է օգտագործվել այլ հաստատուն արտահայտություններում։ Օրինակ՝ ներքևում գտնվող կոդում product()-ը գնահատվում է կոմպիլյացիայի ժամանակ: C++ 11-ում ա constexpr ֆունկցիան պետք է պարունակի միայն մեկ վերադարձի հայտարարություն:

Ավելին, ինչի՞ համար է օգտագործվում Constexpr-ը։

Այն constexpr Specifier-ը հայտարարում է, որ կոմպիլյացիայի ժամանակ հնարավոր է գնահատել ֆունկցիայի կամ փոփոխականի արժեքը: Այդպիսի փոփոխականներ և ֆունկցիաներ կարող են լինել օգտագործված որտեղ թույլատրվում են միայն կոմպիլային ժամանակի հաստատուն արտահայտություններ: Ա constexpr սպեցիֆիկատոր օգտագործվում է օբյեկտի հայտարարագիրը ենթադրում է const.

Արդյո՞ք գնահատվում է Constexpr-ը: 2 Պատասխաններ. constexpr գործառույթները կլինեն գնահատվեն կոմպիլյացիայի ժամանակ, երբ նրա բոլոր արգումենտները հաստատուն արտահայտություններ են, և արդյունքն օգտագործվում է նաև հաստատուն արտահայտության մեջ:

Այս առնչությամբ, ե՞րբ պետք է օգտագործեմ Constexpr-ը:

constexpr ցույց է տալիս, որ արժեքը կամ վերադարձվող արժեքը հաստատուն է և, հնարավորության դեպքում, հաշվարկվում է կոմպիլյացիայի ժամանակ: Ա constexpr ինտեգրալ արժեքը կարող է օգտագործվել այնտեղ, որտեղ պահանջվում է const ամբողջ թիվ, օրինակ՝ կաղապարի արգումենտներում և զանգվածի հայտարարագրերում:

Արդյո՞ք Constexpr-ի գործառույթները միացյալ են:

Դուք կարող եք հանդես գալ հետ constexpr գործառույթները շատ հաշվարկներ կազմելու ժամանակ: Հետևաբար, հաշվարկի արդյունքը գործարկման ժամանակ է՝ որպես հաստատուն ROM-ում։ Ի հավելումն, constexpr գործառույթները անուղղակի են ներդիր . -ի շարահյուսությունը constexpr գործառույթները Զանգվածային բարելավվել է C++11-ից C++14-ի փոփոխությամբ: