Qu'est-ce qu'un Constexpr en C++ ?
Qu'est-ce qu'un Constexpr en C++ ?

Vidéo: Qu'est-ce qu'un Constexpr en C++ ?

Vidéo: Qu'est-ce qu'un Constexpr en C++ ?
Vidéo: Constexpr c'est quoi ? 2024, Peut
Anonim

constexpr spécifie que la valeur d'un objet ou d'une fonction peut être évaluée au moment de la compilation et que l'expression peut être utilisée dans d'autres expressions constantes. Par exemple, dans le code ci-dessous, product() est évalué au moment de la compilation. En C++ 11, un constexpr La fonction ne doit contenir qu'une seule instruction return.

De plus, à quoi sert Constexpr ?

Les constexpr le spécificateur déclare qu'il est possible d'évaluer la valeur de la fonction ou de la variable au moment de la compilation. Ces variables et fonctions peuvent alors être utilisé où seules les expressions de constante de temps de compilation sont autorisées. UNE constexpr spécificateur utilisé dans une déclaration d'objet implique const.

Constexpr est-il évalué ? 2 réponses. constexpr les fonctions seront évalué au moment de la compilation lorsque tous ses arguments sont des expressions constantes et que le résultat est également utilisé dans une expression constante.

A ce propos, quand dois-je utiliser Constexpr ?

constexpr indique que la valeur, ou la valeur de retour, est constante et, si possible, est calculée au moment de la compilation. UNE constexpr la valeur intégrale peut être utilisée partout où un entier const est requis, comme dans les arguments de modèle et les déclarations de tableau.

Les fonctions Constexpr sont-elles en ligne ?

Vous pouvez jouer avec fonctions constexpr beaucoup de calculs au moment de la compilation. Par conséquent, le résultat du calcul est au moment de l'exécution comme une constante dans la ROM disponible. En outre, fonctions constexpr sont implicites en ligne . La syntaxe de fonctions constexpr a été considérablement amélioré avec le passage de C++11 à C++14.