En smart pekare liknar en vanlig stationär pekare , vilket är ett programmeringsspråk datatyp , men med förbättrade funktioner . Enheten kan förenkla C + + utveckling , eftersom den avser att begränsa antalet buggar i samband med att missbruka vanliga pekare . De pekare bevaka föremål de har pekat på för minneshantering . Sophämtare samlar in data från föremål som inte längre används av programmet . Denna funktion ersätter manuell minneshantering , vilket kräver att operatören väljer varje objekt som måste avallokeras och återvände till datorns minne . Den smarta pekare hjälper också till gränskontroll , som övervakar om en variabel är inom en bunden innan det används . Instruktioner
1
Se till att du inte har en ogiltig referens räkna , vilket skulle ta bort ett objekt för tidigt eller aldrig . Tilldela en nyligen utvecklad instans till en smart pekare och hålla den där . Nu äger den smart pekare objektet. Du kan inte ta bort den manuellt eller byta ut den . Detta kommer att säkerställa ett objekt som refereras av en smart pekare inte av misstag raderas eller ges en ogiltig referens räkna .
2
Använd en smart pekare för att öka din kod . Skriv ... _ptr min Ptr ( ny T ) om du skapar din egen smart pekare . Använd ptr.get ( ) för att hämta den råa pekaren. Tilldela inte en T * till en smart pekare . Du kan inte heller skriva ptr = NULL . För att använda ptr.reset ( ) . Två objekt som refererar till varandra genom en hänvisning räknar pekare tas aldrig bort . Du också aldrig skulle konstruera en tillfällig shared_ptr att passera till funktioner . Skapa en namngiven ( lokal ) variabel istället . Genom att göra detta , kommer du att öka säkerheten i din kod . Addera 3 Tilldela standard auto_ptr smart pekare för enkelhetens skull . Det är ofta det bästa valet för lokala variabler . Andra alternativ är gruppmedlem , men du kan tilldela auto_ptr som en gruppmedlem . EN KO pekare på detta område kan spara datorminne . En STL container kan tilldelas skräpsamlas pekare för att lagra objekt från olika klasser i en container . Förstå egenskaperna hos den specifika använda sophämtning . Referens räkna /länkning kan läcka när en cirkulär referens appliceras . Till exempel, när ett spetsigt objekt har ett räknat pekare , kommer det att peka på ett objekt som har den ursprungliga räknas pekaren. Denna teknik , när de används rätt , är enkel och deterministisk .