Pointers in programmeertalen zoals C + + dienen als verwijzingen naar dynamisch toegewezen geheugen in het systeem geheugen terwijl het programma loopt . Echter , kan dit geheugen worden vergeten tijdens evenementen in het programma , waardoor een " geheugenlek " waar toegewezen geheugen inhaalt snel systeemgeheugen . Vanwege dit , moet u uw pointers goed te beheren , en ze altijd verwijderen . De " auto_ptr " datatype helpt verzorgen dit voor u door het schrappen van de toegewezen geheugen wanneer de auto_ptr object wordt verwijderd . U kunt eenvoudig implementeren uw eigen auto_ptr syntax om pointers te behandelen als het je past . Wat je nodig hebt C + + Compiler Toon Meer Aanwijzingen 1 Maak een " auto_ptr " class . Noem het " SmartPointer " : sjabloon class SmartPointer { } kopen van 2 Neem een pointer data type in de klas : < br sjabloon class SmartPointer > { prive : T * inner_pointer ; } 3 Maak een constructor voor de Smart Pointer klasse, die wijst een verwijzing naar de aanwijzer : sjabloon class SmartPointer { openbare : SmartPointer ( T referentie) ; prive : T * inner_pointer ;} ; < br > template SmartPointer :: Smartpoint ( T verwijzing ) { inner_pointer = referentie; } 4 Maak een destructor voor de klas , die verwijdert de inhoud van de aanwijzer uit het geheugen , net als de " auto_ptr " Type : sjabloon class SmartPointer { openbare : SmartPointer ( T referentie) ; ~ SmartPointer ( ) ; prive : T * inner_pointer ;} ; template SmartPointer :: Smartpoint ( T verwijzing ) { inner_pointer = referentie; } template SmartPointer :: ~ SmartPointer ( ) { delete inner_pointer ; }
|