Miért van szüksége a verem túlcsordítására oroszul?

"Ha valaki csillagot világít, azt jelenti, hogy valaki szüksége van rá"

Íme egy példa. Tegyük fel, hogy átmássz egy változót a függvényre. Van valami, aminek értéke van, és az új értéket kell beírni a változóba, amelynek értékét átmásolod a függvényre. Ha ilyeneket teszel

Az i változónak ez a értéke nem változik, mert a változó egy példányát átviszi a függvényre, és a műveleteket végrehajtják vele. Ha pedig mutatót vagy hivatkozást ad meg erre a változóra, hozzáférhet hozzá, és megváltoztathatja annak értékét

Ha át kell adni egy funkció vagy objektumlistáját, majd átadja azt teljesen lehetséges, de lehet, hogy egy halom memória és az idő, mert nagyon nagy lehet. Egyszerű példákban ez láthatatlan, de a valódi programokban, ahol meg lehet ismételni ezer és millió alkalommal, a fékek hatalmasak lesznek. Ehelyett átmegy egy mutatót vagy hivatkozást, és hozzáférést kap az objektumhoz a funkciótól.

Már beszéltünk a memória dinamikus elosztásáról. Ha még nem olvastad még róla, akkor olvassa el. Alapvetően nincsenek mutatók.

Ezek csak néhány példa. Minél mélyebbre megy a C ++, annál többet fog tanulni róla.

válaszolt 4 január 12-én 18:56-kor

Több érték visszaadása egy függvényből. Mint egy argumentum, egy változó mutatója elhalad, a függvény írja az értéket. Ez a megközelítés nagyon gyakori a DirectX, OpenGL, a Windows API és más könyvtárak a stílus C. használhatja és hivatkozás, de nem ajánlott, mivel az átviteli és vissza szintaxis megkülönböztethetetlen.

A C-string egy mutató az első karakterhez.

Különféle adatstruktúrák létrehozása: összekapcsolt listák, fák stb.

Egy függvény átvitele egy függvényhez másolás nélkül (és a konstruktornak az objektumokhoz való hívása), amely hosszú lehet a komplex objektumok számára. Igaz, itt jobb kapcsolatokat használni.

Így van egy csomó mutató.

Kapcsolódó cikkek