Čo je Constexpr v C++?
Čo je Constexpr v C++?

Video: Čo je Constexpr v C++?

Video: Čo je Constexpr v C++?
Video: Pointers and constexpr in C++ 2024, November
Anonim

constexpr určuje, že hodnotu objektu alebo funkcie možno vyhodnotiť v čase kompilácie a výraz možno použiť v iných konštantných výrazoch. Napríklad v nižšie uvedenom kóde sa product() vyhodnocuje v čase kompilácie. V C++ 11, a constexpr funkcia by mala obsahovať iba jeden príkaz return.

Navyše, na čo sa Constexpr používa?

The constexpr špecifikátor deklaruje, že je možné vyhodnotiť hodnotu funkcie alebo premennej v čase kompilácie. Takéto premenné a funkcie potom môžu byť použité kde sú povolené iba výrazy kompilácie časových konštánt. A constexpr špecifikátor použité v deklarácia objektu znamená konšt.

je Constexpr hodnotený? 2 odpovede. constexpr funkcie budú hodnotené v čase kompilácie, keď sú všetky jeho argumenty konštantné výrazy a výsledok sa používa aj v konštantnom výraze.

Čo sa týka tohto, kedy by som mal použiť Constexpr?

constexpr označuje, že hodnota alebo návratová hodnota je konštantná a ak je to možné, vypočíta sa v čase kompilácie. A constexpr integrálnu hodnotu možno použiť všade tam, kde sa vyžaduje konštantné celé číslo, napríklad v argumentoch šablóny a deklaráciách poľa.

Sú funkcie Constexpr inline?

Môžete vystupovať s funkcie constexpr veľa výpočtov v čase kompilácie. Preto je výsledok výpočtu za behu ako konštanta v ROM k dispozícii. Navyše, funkcie constexpr sú implicitné v rade . Syntax funkcie constexpr bol výrazne vylepšený zmenou z C++11 na C++14.