Co to jest Constexpr w C++?
Co to jest Constexpr w C++?

Wideo: Co to jest Constexpr w C++?

Wideo: Co to jest Constexpr w C++?
Wideo: Pointers and constexpr in C++ 2024, Listopad
Anonim

constexpr określa, że wartość obiektu lub funkcji może być oceniana w czasie kompilacji, a wyrażenie może być używane w innych wyrażeniach stałych. Na przykład w poniższym kodzie product() jest oceniany w czasie kompilacji. W C++ 11, a constexpr funkcja powinna zawierać tylko jedną instrukcję powrotu.

Co więcej, do czego służy Constexpr?

ten constexpr specyfikator deklaruje, że możliwe jest oszacowanie wartości funkcji lub zmiennej w czasie kompilacji. Takie zmienne i funkcje mogą być następnie: używany gdzie dozwolone są tylko kompilacje wyrażeń stałych czasowych. A constexpr specyficzny używany w deklaracja obiektu implikuje const.

jest oceniany Constexpr? 2 odpowiedzi. constexpr funkcje będą oceniany w czasie kompilacji, gdy wszystkie jego argumenty są wyrażeniami stałymi, a wynik jest również używany w wyrażeniu stałym.

W związku z tym, kiedy powinienem używać Constexpr?

constexpr wskazuje, że wartość lub wartość zwracana jest stała i, jeśli to możliwe, jest obliczana w czasie kompilacji. A constexpr wartość całkowita może być używana wszędzie tam, gdzie wymagana jest stała liczba całkowita, na przykład w argumentach szablonu i deklaracjach tablic.

Czy funkcje Constexpr są wbudowane?

Możesz występować z funkcje constexpr dużo obliczeń w czasie kompilacji. Dlatego wynik obliczeń jest dostępny w czasie wykonywania jako stała w pamięci ROM. Ponadto, funkcje constexpr są ukryte wbudowany . Składnia funkcje constexpr został znacznie ulepszony wraz ze zmianą z C++11 na C++14.