Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fungsi 'fungsi' adalah constexpr, variabel tandai 'variabel' constexpr jika evaluasi waktu kompilasi diinginkan (con.5)
Aturan ini membantu memberlakukan Con.5: Gunakan constexpr untuk nilai yang dapat dihitung pada waktu kompilasi dalam Panduan Inti C++.
Keterangan
Peringatan dipicu dengan menetapkan hasil constexpr fungsi ke variabel non-apaconstexpr pun yang nilainya tidak berubah setelah penetapan awal.
Nama analisis kode: USE_CONSTEXPR_FOR_FUNCTIONCALL
Contoh
Kode sampel ini menunjukkan di mana C26498 mungkin muncul:
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;
}
Untuk memperbaiki masalah, tandai val1 dan val2constexpr:
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;
}
Lihat juga
C26497
C26814
Con.5: Gunakan constexpr untuk nilai yang dapat dikomputasi pada waktu kompilasi