Dator > fördelar och nackdelar med pekare

  • fördelar och nackdelar med pekare


  • Beroende på vem du frågar , pekare är antingen en välsignelse eller en förbannelse . Pekare tillhandahålla en mekanism för direkt komma åt och ändra objekt och kod i minnet . Pekare används i många programmeringsspråk för att manipulera teckensträngar , skicka parametrar till funktioner , hantering arrayer av data , och skapa länkade listor och andra komplexa datastrukturer . Medan pekare ge dig en stor flexibilitet för att hantera minne och optimera algoritmer , det finns nackdelar . Att lära sig att använda pekare är svårt för många programmerare , och avlusning pekaren problem är en utmaning .

    Du behöver:
    Computer
    . Java Runtime Environment .
    Java Development Kit .
    Textredigerare eller Java IDE .

    optimering

    Pekare ställa en fördel genom att låta dig tillgång datorminne direkt . I ett datorprogram , att det snabbaste sättet komma åt och ändra ett objekt är att direkt tillgång till fysiskt minne där objektet lagras . Denna teknik används ofta för att optimera algoritmer som kräver täta eller återkommande tillgång till stora mängder data .

    Säkerhet

    Direkt åtkomst till minne innebär att du kan göra saker som du kanske inte borde. Beroende på språk , kompilatorn och datorn plattform , kan du oavsiktligt ( eller avsiktligt ) -minnet som inte är ditt att få tillgång till . Som ett resultat kan du skriva över kritiska minne , ändra koden för ett program som körs , eller låta din ansökan eller ett annat program att bete sig eller avslutas oväntat . Ett vanligt fel är att köra förbi i slutet av en array , åt minnet efter utgången av det utrymme som tilldelats för matrisen .

    Memory Management

    Hantera minnesanvändningen i ett program som använder pekare erbjuder flexibilitet men är också en rutin. Fördelning och deallocating minnet som behövs under körning kan du skapa stora objekt , till exempel arrayer , snabbt och omedelbart fria minnet när det inte längre behövs . Men det är också lätt att skapa minnesläckor genom att tilldela en pekare utan att frigöra minne var det pekar på först . Sophämtning är ditt ansvar .

    funktionsparametrar

    Funktioner kan returnera endast ett värde , men de kan ta flera parametrar . Genom att passera i pekare till variabler som parametrar kan en funktion användas för att ställa in värdena för dessa variabler, och de nya värdena kommer att bestå efter returnerar funktionen . Att kunna ställa in värdet av flera variabler på en gång med ett enda funktionsanrop är ren och effektiv . Däremot kan det vara lite förvirrande att läsa eftersom du inte kan säga om de variabler som antogs i kommer att ändras eller inte bara genom att titta på funktionsanropet. Du kommer att behöva titta på funktionen för att lära hur funktionen beter sig

    funktionspekare

    Pekare är inte bara för objekt i minnet . De kan också användas för funktioner , vilket möjliggör en funktion som ska skickas som en parameter till en annan funktion . En funktion pekare kan tilldelas adressen till en av ett urval av funktioner så att visaren fungerar som ett slags alias . Objektorienterad programmering språk har eliminerat behovet av funktionspekare med arv och polymorfism .

    Pointer Förvirring

    Pekare är en förvirrande ämne för många programmerare , särskilt de erfarenhet av att använda språk som inte har råd och DMA . Leder dock uthållighet snabbt till behärskning av pekare . Pekare åtföljs ofta av obskyra syntax . Konsekvent variabel namnkonventioner kan hjälpa din kod mer lättläst . Till exempel innehåller gemensamma namngivningskonventioner med " P_ "eller " ptr_ " som prefix till pekare variabelnamn .

    Tips

    Använd alltid fördelningen funktioner som språk för tilldelning minne, och kontrollera att den minne tilldelades innan du använder den . Var försiktig med minneshantering , och frigöra minne när den inte längre behövs. Om du överlåter en pekare till en ny minne adress , se till att det gamla minnet frigörs eller tilldelas en annan pekare . Se till att pekare skapas i funktioner tilldelas äganderätten till den förälder räckvidd eller att minnet är avallokerat innan du avslutar funktionen .


Previous:Vilka är fördelarna med Java uppgradera ? Next:vad är filändelsen MDX ?





Relaterade artiklar


  • steg-för-steg om hur man driver en skiva boot start
  • hur du tar bort vax från datorskärmar
  • java script metod
  • hur man överklockar PCI-kort
  • Plextor PX-504uf specifikationer
  • Felsökning heliga GeForce FX 5200
  • specifikationer för HP dv7-1262us
  • sätt att uppnå snabbare dataöverföring
  • hur du tar bort ett band kabel från en Toshiba ZIF-kontakt
  • hur man återställer en Xerox 7400 skrivare efter byte överföringsenheten