Edut & amp ;Haitat Osoittimet

riippuen keneltä kysytään, osoittimet ovat joko siunaus tai kirous.Osoittimet tarjoavat mekanismin suoraan päästä ja muuttamalla esineitä ja koodi muistiin.Viitteitä käytetään monissa ohjelmointikieliä manipulointiin merkkijonojen, kulkee parametrit toimintoihin, käsittely tietomatriisin, ja luoda liittyvät luettelot ja muita monimutkaisia ​​tietorakenteita.Vaikka viitteitä antaa sinulle suurta joustavuutta hallintaan muistia ja optimointialgoritmeja, on haittoja.Oppia käyttämään viitteitä on vaikeaa monille ohjelmoijille, ja virheenkorjaus osoitin ongelmia on haastava.

optimointi

  • Osoittimet tarjota suorituskykyä etu, sillä voit käyttää tietokoneen muistiin suoraan.Tietokoneohjelmaan, nopein tapa käyttää ja muokata tarkoituksena on suoraan käyttää fyysistä muistia, jos tämä kohde on tallennettu.Tämä tekniikka on yleisesti käytetty optimoimaan algoritmeja vaativat säännöllistä tai toistuvia pääsy suuria määriä tietoja.

Security

  • Suora pääsy muistiin tarkoittaa, että v

    oit tehdä asioita, jotka ehkä sinun ei pitäisi.Riippuen kieli, kääntäjä ja tietokoneen alustan, voit vahingossa (tai tahallisesti) Access Memory, joka ei ole sinun käyttää.Tämän seurauksena voit korvata kriittinen muistiin, muokata koodia käynnissä sovelluksen, tai aiheuttaa sovelluksen tai toinen sovellus käyttäytyä tai sulkeutumaan odottamatta.Yksi yleinen virhe on ajaa ohi loppuun array, päästä muisti päättymisen jälkeen varattuun tilaan, että jono.

Muistinhallinta

  • Muistinhallinta käyttö käyttävä sovellus osoittimia tarjoaa joustavuutta, mutta on myös urakka.Jakamisesta ja deallokoimalla muisti tarvittaessa ajon aikana voit luoda suuria esineitä, kuten taulukot, nopeasti ja välittömästi vapauttaa muistia kun sitä ei enää tarvita.On kuitenkin myös helppo luoda muistivuotoja tekemällä siirtoja osoitin vapauttamatta muistia se osoittaa ensin.Roskien keräys on sinun vastuullasi.

Funktion parametrit

  • Toiminnot voidaan palauttaa vain yksi arvo, mutta he voivat ottaa useita parametreja.Johtamalla sisään viitteitä muuttujien parametreina, toimintoa voidaan käyttää asettamaan arvot näiden muuttujien, ja uudet arvot säilyvät jälkeen funktio palauttaa.Mahdollisuus arvoksi useiden muuttujien kerralla yhdellä funktiokutsu on puhdas ja tehokas.Se voi kuitenkin olla hieman hämmentävää lukea, koska et voi kertoa, jos muuttujat hyväksyttiin muutetaan tai ei yksinkertaisesti katsomalla funktiokutsun.Sinun täytyy tarkastella toiminto asiakirjat oppia toiminto käyttäytyy.

funktio-osoittimia

  • Osoittimet eivät ole vain esineitä muistissa;niitä voidaan myös käyttää toimintojen, jolloin toiminto välitetään parametrina toisen toiminnon.Toiminto osoitin voidaan määrittää osoitteen yksi valinta toimii siten, että osoitin toimii eräänlaisena alias.Olio-ohjelmointi kieliä ovat poistaneet tarvetta funktio-osoittimia kanssa perintö ja polymorfismi.

Pointer Sekavuus

  • Osoittimet ovat hämmentävä aihe monet ohjelmoijat, erityisesti kokemusta käyttävät kieliä jotka eivät esiinny viitteitä ja DMA pääsy.Kuitenkin pysyvyys johtaa nopeasti hallitsevat osoittimia.Viitteitä liittyy usein epämääräisiä syntaksin.Johdonmukainen muuttuja nimeämiskäytäntöjä auttavat koodi luettavampi.Esimerkiksi yhteinen nimeämiskäytäntöjä kuuluu käyttäen "p " tai "PTR " liittää osoitin muuttujan nimiä.

Vinkkejä

  • Käytä aina jako tehtävistä säädetään kieli jakamista muisti, ja varmista muisti myönnettiin ennen sen käyttämistä.Ole varovainen muisti hallinta, ja vapauttaa muistia kun sitä ei enää tarvita.Jos asiakas määrittää osoittimen uuden muistin osoitteen, varmista, että vanha muisti vapautuu tai luovutettu eri osoitin.Varmista, että viitteitä luodut toiminnot luovutti vanhemman soveltamisalaan tai että muisti on vapautettu ennen poistumista toiminto.

Resurssit

  • Stanford CS Koulutus Library: Osoittimet ja Muisti
  • Cprogramming.com: Johdatus Vinkin
  • Pointer Esimerkkejä
556
0
2
Ohjelmointikieltä