Gewusst wie: Verwenden Sie intelligente Zeiger

June 23

Gewusst wie: Verwenden Sie intelligente Zeiger

Ein intelligenter Zeiger ähnelt einen regulären desktop-Zeiger, der einen Programmier-Sprache-Datentyp ist, aber mit erweiterten Funktionen. Das Gerät kann C++-Entwicklung vereinfachen, da es beabsichtigt, die Anzahl der Fehler, die Missbrauch mit regelmäßiger Zeigern zugeordnet zu begrenzen. Die Zeiger-Monitor-Objekte, die sie für das Memory Management gezeigt haben. Der Garbage Collector sammelt Daten von Objekten, die nicht mehr von dem Programm verwendet werden. Diese Funktion ersetzt die manuelle Speicherverwaltung, wonach der Betreiber jedes Objekt auswählen, die freigegeben und an den Arbeitsspeicher des Computers zurückgegeben werden muss. Der intelligente Zeiger hilft auch Abgrenzungen zur Prüfung, die überwacht, ob eine Variable innerhalb einer Grenze ist, bevor sie verwendet wird.

Anweisungen

1 Stellen Sie sicher, dass Sie eine ungültige Verweiszähler nicht die ein Objekt zu, zu früh oder nie löschen. Ein intelligenter Zeiger eine neu entwickelte Instanz zuweisen und es dort zu halten. Der intelligente Zeiger besitzt nun, das Objekt. Sie können nicht manuell löschen oder ersetzen. Dadurch wird sichergestellt, ein Objekt ein intelligenter Zeiger verweist ist nicht versehentlich gelöscht oder einen ungültigen Verweis-Zähler gegeben.

2 Verwenden Sie einen intelligenten Zeiger, um Code zu erhöhen. Schreiben.. ._ptr < T > meine Ptr(new T) beim Erstellen Ihrer eigenen intelligenten Zeigers. Verwenden Sie ptr.get(), um das Rohdatenzeiger abzurufen. Weisen Sie keine T * auf einen intelligenten Zeiger. Auch kann nicht geschrieben werden Ptr = NULL. Dafür verwenden Sie ptr.reset(). Zwei Objekte, die miteinander durch eine Verweiszählung Zeiger verweisen werden niemals gelöscht. Sie sollten auch nie konstruieren eine temporäre Shared_ptr an Funktionen übergeben. Erstellen Sie stattdessen eine benannte (lokale) Variable. Auf diese Weise erhöhen Sie die Sicherheit Ihres Codes.

3 Weisen Sie des Norm Auto_ptr intelligente Zeigers für Einfachheit. Es ist oft die beste Wahl für lokale Variablen. Weitere Optionen sind die Member der Klasse, obwohl Sie Auto_ptr als Klassenmember zuweisen können. Ein Kuh-Zeiger in diesem Bereich kann Computer-Speicher speichern. Ein STL-Container kann zum Speichern von Objekten aus verschiedenen Klassen in einem Container Garbage Collection-Zeiger zugewiesen werden. Verstehen der Merkmale der spezifischen Garbagecollection verwendet. Referenz zählen/verknüpfen können auslaufen, wenn ein zirkulärer Verweis angewendet wird. Beispielsweise bei einem spitzen Gegenstand einen gezählten Zeiger verfügt, wird es auf ein Objekt zeigen, die den ursprünglichen gezählten Zeiger hat. Diese Technik, wenn rechts, verwendet ist einfach und deterministisch.