Array index Out of bounds-C++ Forum
Vektorok van egy csomó jó dolog megy nekik.
de a C++ tömböknek, ha szabványos kényszerített fordítást használnak, ismert méretűnek kell lenniük fordításkor (nem lehet változó ,csak fordítási idő ismert értéke, például enum, const int, szó szerinti szám stb.) Mindig tudnia kell a tömb méretét, és emiatt nem szabad kifogynia a korlátokból. Szóval amíg nem kell szívességet vektorok általában, néha örökölni kód, ami tömbök, vagy van ahhoz, hogy egy C fájl, a válogatás, vagy hasonló, akkor tudnod kell, hogy az alapokat. Általában a méret egy enum vagy const valahol egy nevet, hogy tudod használni, ha hurok, hogy tartsa biztonságban. Ha használja tömbök bármilyen okból, használja ezt az ötletet, és akkor elkerülhető a legtöbb határon kérdések. Az más kérdés, történik a vektorok is, azokat, ahol számítani az index, illetve elszúrtam, de vektorok adni az eszközöket, hogy ellenőrizze, amíg tömbök kevesebb lehetőség kezelési hibák.
c++ egy nagy teljesítményű nyelv. Általában nem végez felesleges munkát a színfalak mögött, ezt meg kell tennie, ha azt akarja. Tehát, ha a határokat ellenőrizni szeretné, ehhez kódra van szüksége. egyébként egy vektoron is átlépheti a határokat.
vector <int> duh = {1,2,3};
cout << duh. valószínűleg lezuhant.
nem az, hogy a vektor ellenőrzi a határokat, vagy “biztonságosabb”, ha elrontja. Az, hogy saját kezelt méretű változóval rendelkezik, így a zavarásnak nehezebbnek kell lennie, ha gondosan írja a kódot.
Leave a Reply