Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Derleme zamanı değerlendirmesi isteniyorsa 'function' constexpr, mark variable 'variable' constexpr işlevidir (con.5)
Bu kural, C++ Çekirdek Yönergeleri'ndeki Con.5: Derleme zamanında hesaplanabilir değerler için constexpr kullanın kuralını zorunlu kılmaya yardımcı olur.
Açıklamalar
Uyarı, ilk atamadan sonra değeri değişmeyen değişken olmayanconstexpr herhangi bir değişkene bir constexpr işlevin sonucu atanarak tetiklenir.
Kod analizi adı: USE_CONSTEXPR_FOR_FUNCTIONCALL
Örnek
Bu örnek kod, C26498'in nerede görünebileceğini gösterir:
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;
}
Sorunları düzeltmek için ve işaretlerini kullanın 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;
}
Ayrıca bkz.
C26497
C26814
Con.5: Derleme zamanında hesaplanabilen değerler için kullanın constexpr