Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A "function" függvény constexpr, jelölje meg a "variable" változót constexprként, ha fordítási idő alatti kiértékelés szükséges (con.5)
Ez a szabály segít érvényesíteni a Con.5: Használja a constexpr azokat az értékeket, amelyek fordítási időben számíthatók ki a C++ alapvető irányelvekben.
Megjegyzések
A figyelmeztetés akkor aktiválódik, ha egy constexpr függvény eredményét olyan nemconstexpr változóhoz rendeli hozzá, amelynek értéke nem változik a kezdeti hozzárendelés után.
Kódelemzés neve: USE_CONSTEXPR_FOR_FUNCTIONCALL.
példa
Ez a mintakód bemutatja, hogy hol jelenhet meg a C26498:
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;
}
A problémák megoldásához jelölje meg a következőt val1val2constexpr:
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;
}
Lásd még
C26497
C26814
Con.5: Használja a fordításkor kiszámítható értékeketconstexpr