Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Die Funktion "function" ist constexpr, Variable 'variable' als constexpr markieren, wenn die Kompilierungszeitauswertung gewünscht ist (con.5)
Diese Regel hilft beim Erzwingen von Con.5: Verwenden Sie constexpr für Werte, die zur Kompilierungszeit berechnet werden können in den C++-Kernrichtlinien.
Hinweise
Die Warnung wird ausgelöst, indem das Ergebnis einer constexpr-Funktion zu einer Nicht-constexpr-Variablen zugewiesen wird, deren Wert sich nach der anfänglichen Zuordnung nicht ändert.
Name der Codeanalyse: USE_CONSTEXPR_FOR_FUNCTIONCALL
Beispiel
Dieser Beispielcode zeigt, wo C26498 angezeigt werden kann:
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;
}
Um die Probleme zu beheben, val1 und val2constexpr markieren:
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;
}
Weitere Informationen
C26497
C26814
Con.5: Verwenden Sie constexpr, um Werte zu berechnen, die zur Kompilierungszeit bestimmt werden können