Što je Constexpr u C++?
Što je Constexpr u C++?

Video: Što je Constexpr u C++?

Video: Što je Constexpr u C++?
Video: Ваша новая ментальная модель constexpr — Джейсон Тернер — CppCon 2021 2024, Svibanj
Anonim

constexpr specificira da se vrijednost objekta ili funkcije može procijeniti u vrijeme prevođenja i da se izraz može koristiti u drugim konstantnim izrazima. Na primjer, u donjem kodu product() se evaluira u vrijeme kompajliranja. U C++ 11, a constexpr funkcija treba sadržavati samo jedan povratni izraz.

Štoviše, za što se Constexpr koristi?

The constexpr specifikacija izjavljuje da je moguće procijeniti vrijednost funkcije ili varijable u vrijeme prevođenja. Takve varijable i funkcije tada mogu biti korišteni gdje je dopušteno samo prevođenje izraza vremenske konstante. A constexpr specificator korišteno u deklaracija objekta podrazumijeva konst.

ocjenjuje li se Constexpr? 2 odgovora. constexpr funkcije će biti procijenjen u vrijeme prevođenja kada su svi njegovi argumenti konstantni izrazi, a rezultat se također koristi u konstantnom izrazu.

U vezi s tim, kada trebam koristiti Constexpr?

constexpr označava da je vrijednost ili povratna vrijednost konstantna i, gdje je moguće, izračunava se u vrijeme prevođenja. A constexpr integralna vrijednost može se koristiti gdje god je potreban cijeli broj const, kao što su argumenti predloška i deklaracije polja.

Jesu li Constexpr funkcije inline?

Možete nastupiti sa constexpr funkcije puno izračuna u vrijeme kompajliranja. Stoga je rezultat izračuna u vrijeme izvođenja kao konstanta u ROM-u dostupna. U Dodatku, constexpr funkcije su implicitne u redu . Sintaksa od constexpr funkcije je značajno poboljšan promjenom s C++11 na C++14.