Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La fonction « fonction » est constexpr ; marquer la variable « variable » en tant que constexpr si l’évaluation au moment de la compilation est souhaitée (con.5)
Cette règle permet d’appliquer Con.5 : Utiliser constexpr pour les valeurs qui peuvent être calculées au moment de la compilation dans les instructions de base C++.
Notes
L’avertissement est déclenché en affectant le résultat d’une fonction constexpr à une variable non-constexpr dont la valeur ne change pas après l’affectation initiale.
Nom de l’analyse du code : USE_CONSTEXPR_FOR_FUNCTIONCALL
Exemple
Cet exemple de code montre où C26498 peut apparaître :
constexpr int getMyValue()
{
return 1;
}
void foo()
{
constexpr int val0 = getMyValue(); // no C26498
const int val1 = getMyValue(); // C26498, C26814
int val2 = getMyValue(); // C26498, value is never modified
int val3 = getMyValue(); // no C26498, val3 is assigned to below.
val3 = val3 * val2;
}
Pour résoudre les problèmes, marquez val1 et val2 en tant que constexpr :
constexpr int getMyValue()
{
return 1;
}
void foo()
{
constexpr int val0 = getMyValue(); // OK
constexpr int val1 = getMyValue(); // OK
constexpr int val2 = getMyValue(); // OK
int val3 = getMyValue(); // OK
val3 = val3 * val2;
}
Voir aussi
C26497
C26814
Con.5 : Utiliser constexpr pour les valeurs qui peuvent être calculées au moment de la compilation