- Intelligenter Zeiger
-
Intelligente Zeiger oder Smartpointer werden in vielen gängigen Programmiersprachen wie etwa C++ verwendet. Es handelt sich um spezielle Zeiger, die gegenüber einfachen Zeigervariablen mit zusätzlichen Funktionen und Eigenschaften ausgestattet sind. Intelligente Zeiger erweitern also einfache Zeiger und statten sie mit mehr Funktionalität aus, lassen sich aber wie normale Zeigervariablen benutzen.
Beispiel
Um das versehentliche Löschen von Speicherbereichen zu vermeiden, auf die noch immer von dem einen oder anderen Zeiger verwiesen wird, verwendet man referenzzählende Zeiger. Dazu enthält der intelligente Zeiger eine Zählervariable, die bei jedem Kopieren des Zeigers erhöht wird. Versucht nun ein Programmteil den Speicher freizugeben, auf den der Zeiger verweist, so wird der Wert der Zählervariable zunächst erniedrigt. Wenn der Zähler den Wert 0 erreicht, wird der Speicher freigegeben (→ Referenzzählung).
Wikimedia Foundation.