Eelised & amp ;Puudused Osuti

Olenevalt kellelt küsida, vihjeid on kas õnnistus või needus.Osuti ette mehhanism otse juurdepääsu ja muutmise objektide ja koodi mällu.Osuti kasutatakse paljudes programmeerimiskeeltes manipuleerimiseks tähemärke, mis kulgeb parameetrite funktsioone, käitlemise massiive andmeid ja luua ahelloendid jm andmestruktuurid.Kuigi vihjeid anda teile suurt paindlikkust hallata mälu ja optimeerimise algoritmid on puudused.Õpime kasutama viiteid on raske paljud programmeerijad, ja silumine pointer probleeme on raske.

optimeerimine

  • osuti annab jõudlust ära, võimaldades teil kasutada arvuti mälus otse.In arvutiprogramm, kiireim viis vaadata ja muuta objekt on otsene juurdepääs füüsilist mälu, kus see objekt on salvestatud.Seda tehnikat kasutatakse tavaliselt optimeerida algoritme nõudes sagedast või korduv juurdepääsu suurte andmehulkade.

Security

  • Otsene juurdepääs mälu tähendab, et sa saad teha asju, mis võibolla ei peaks.Sõltuvalt keel, tõlkija ja arvuti platvormi, võid ko

    gemata (või tahtlikult) juurdepääsu mälu, mis ei ole sinu juurde.Selle tulemusena, siis võiks kirjutada kriitilist mälu, muuta koodi töötava rakenduse või põhjustada teie rakenduse või mõne muu rakenduse käituda või väljumise ootamatult.Üks levinud viga on, et käivitada juba lõppenud massiivi, juurdepääs mälu kauem kui ruumi eraldatud, et massiivi.

Mälu haldamine

  • Mälu haldamine kasutamine rakenduse, mis kasutab viiteid pakub paindlikkust, kuid on ka koristustöö.Eraldamine ja deallocating vastavalt vajadusele mälu ajal töötamise ajal võimaldab teil luua suuri objekte, näiteks massiivid, kiiresti ja kohe vabastada mälu, kui see ei ole enam vajalik.Siiski on ka lihtne luua mälulekked by ümberjaotamiseks osuti ilma vabastades mälu jõuti osutades esimesena.Prügi kogumine on oma vastutus.

funktsiooni parameetrid

  • Funktsioone saab tagasi ainult üks väärtus, kuid neid võib teha mitu parameetrit.Sooritades in vihjeid muutujad parameetrid, funktsiooni saab kasutada, et määrata väärtused need muutujad ja uute väärtuste püsima pärast tagastab funktsioon.Võimalus määrata väärtus mitme muutuja korraga ühe funktsiooni kõne on puhas ja tõhus.Kuid see võib olla natuke segane lugeda, sest sa ei saa öelda, kas muutujad möödunud aastal on kavas muuta või mitte lihtsalt vaadates funktsioon kõne.Sa pead vaatama funktsiooni dokumentatsioonist, kuidas funktsioon käitub.

funkt

  • lähtekohad on mitte ainult objektide mälu;nad võivad kasutada ka funktsioone, võimaldades seega funktsioonina tuleb edasi parameetrina muu funktsiooni.Funktsioon kursorit saab määrata aadressiga üks valikuga funktsioone nii, et osuti toimib mingi pseudonüümi.Objektorienteeritud programmeerimise keeli on kaotatakse pea funkt koos pärimise ja polümorfism.

Pointer Segadus

  • lähtekohad on segane teema paljude programmeerijate, eriti kogenud kasutades keelt, mis ei esine viiteid ja otsemällupöördus.Kuid püsivus viib kiiresti meisterlikkust suunanäitajaks.Osuti kaasneb sageli segased süntaks.Järjepidev muutuja nimemeetod aitab oma koodi loetavamaks.Näiteks ühine nimemeetod hulka kasutades "p " või "PTR " eesliitena pointer muutuja nimed.

Tips

  • alati eraldamise sätestatud ülesannete keel jaotamise mälu ja veenduge mälu eraldati enne kasutamist.Olge mälu juhtimine ja vabastab mälu, kui see ei ole enam vaja.Kui te ümber jaotada viit uut mälu aadressi, veenduge, et vana mälu on vabanenud või paigutatakse eri pointer.Veenduge, et osuti loodud ülesanded ei ole omandiõiguse vanemale ulatus või, et mälu on deallocated enne väljumist funktsiooni.

Resources

  • Stanfordi CS Haridus Library: lähtekohad ja Mälu
  • Cprogramming.com: Sissejuhatus osuti
  • Pointer näited
797
0
2
Programmeerimine Keeled