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.
Jangan gunakan aritmatika pointer. Gunakan rentang sebagai gantinya (bounds.1).
Keterangan
Pemeriksaan ini mendukung aturan Pedoman Inti C++ I.13: Jangan meneruskan array sebagai penunjuk tunggal. Setiap kali pointer mentah digunakan dalam operasi aritmatika, mereka harus diganti dengan jenis buffer yang lebih aman, seperti span<T> atau vector<T>.
Pemeriksaan ini lebih ketat daripada I.13: tidak melewati zstring atau czstring jenis.
C26481 dan C26485 berasal dari aturan Profil Keselamatan Batas. Aturan ini diterapkan dalam rilis pertama Pemeriksa Pedoman Inti C++. Ini berlaku untuk kategori pointer mentah karena membantu menghindari penggunaan pointer mentah yang tidak aman.
Contoh
Sampel ini menghasilkan peringatan untuk aritmatika penunjuk.
// c26481_bad.cpp
// compile using:
// set Esp.Extensions=CppCoreCheck.dll
// cl /W3 /EHsc /permissive- /analyze /analyze:plugin EspXEngine.dll /analyze:ruleset "%VSINSTALLDIR%\Team Tools\Static Analysis Tools\Rule Sets\CppCoreCheckBoundsRules.ruleset" c26481_bad.cpp
int main() noexcept
{
int * from_array = new int(10);
int * later_array = from_array + 1;
delete[](from_array);
}