Wat heeft het voor zin om pointers in C++ te gebruiken?
Wat heeft het voor zin om pointers in C++ te gebruiken?

Video: Wat heeft het voor zin om pointers in C++ te gebruiken?

Video: Wat heeft het voor zin om pointers in C++ te gebruiken?
Video: C++ Pointers - Finally Understand Pointers 2024, Mei
Anonim

Een reden om gebruik aanwijzers is zodat een variabele of een object kan worden gewijzigd in een aangeroepen functie. In C++ het is een betere gewoonte om gebruik maken van referenties dan aanwijzingen . Hoewel referenties in wezen zijn: aanwijzingen , C++ verbergt tot op zekere hoogte het feit en laat het lijken alsof je waarde voorbijgaat.

Evenzo kunt u zich afvragen waarom het gebruik van pointers in C++ niet wordt aanbevolen?

Slim aanwijzingen houden meestal de objecten bij waarnaar ze verwijzen met het oog op geheugenbeheer. Het misbruik van aanwijzingen is een belangrijke bron van bugs: de constante toewijzing, deallocatie en verwijzing die moet worden uitgevoerd door een programma dat is geschreven met behulp van aanwijzingen introduceert het risico dat geheugenlekken optreden.

Behalve hierboven, wanneer moet ik pointers C ++ gebruiken? Wanneer? gebruik maken van Wat Aanwijzers gebruiken : Aanwijzers gebruiken indien wijzer rekenen of doorgeven NULL- wijzer is nodig. Bijvoorbeeld voor arrays (Merk op dat arraytoegang is geïmplementeerd) aanwijzer gebruiken rekenkundig).

Als u dit in overweging neemt, wat zijn dan de voordelen van het gebruik van pointers?

Belangrijk voordelen van aanwijzingen zijn: (i) Hiermee kunnen structuren worden beheerd waaraan dynamisch geheugen wordt toegewezen. (ii) Hiermee kunnen arrays en strings efficiënter worden doorgegeven aan functies. (iii) Het maakt het mogelijk om het adres van de structuur in plaats van de hele structuur door te geven aan de functies.

Waarom zijn pointers niet veilig?

Beveiliging: door niet toelaten aanwijzingen , Java biedt de ontwikkelaar in feite een ander abstractieniveau. Geen pointer-ondersteuning maakt Java meer zeker omdat ze verwijzen naar een geheugenlocatie of worden gebruikt voor geheugenbeheer dat de beveiliging verliest omdat we ze rechtstreeks gebruiken.