Tjenahejsan!
Jag har en liten undran om hur ofta pekare används? I Java, som jag är lite hemma med, använder man aldrig pekare. När jag skummat lite med C++ har jag inte riktigt förstått vilka användningsområden dom har?
Dom kan användas som argument till funktioner.
För att det går snabbare att skicka en pekare än ett objekt.
Man kan använda dom för att returnera arrayer.
Pekare är väldigt användbara.
ska du allokera upp minne dynamiskt så måste du använda pekare.
------------------
Ytterligare en pajsare utan fruktan som jönsar vidare
Rent genrellt är det så att pekare används i de fall man vill ha dynamiska datastrukturer. Dvs datstrukturer som kan ändra storlek efter behag. De används även för att markera aktuellt position i minnet. I stället för att somi Java använda ett index till det element man håller på med så använder man en pekare och pekar rakt på elementets minnesposition.
Pekare har ingen säkerskontroll och pekare som pekar helt fel är ett mycket vanlig orsak till fel i C och C++ program.
Dessutom är det värt att tillägga att stränghanteringen i C och C++ bygger på char-pekare som pekar på första elementet i en nullterminerad sträng. Praktiskt taget alla funktioner som har med strängar att göra, förutsätter den typen av strängar. Därför kommer man inte från pekare i C++.
"I stället för att somi Java använda ett index till det element man håller på med så använder man en pekare och pekar rakt på elementets minnesposition."
Ja, det är ett sätt. Man kan också använda index tillsammans med pekare om man behöver det. Då pekar indexet "index" antal minnesblock från pekaren. Minnesblocken är så stora som den datatyp som pekaren är definierad att peka på, så man behöver inte hålla reda på om pekaren pekar på en char (1 byte) eller någon struct (kanske många byte). Det blir rätt i alla fall om man håller reda på datatyperna. Man bör tänka på att om man inte håller reda på var man pekar, kanske man på det viset börjar peka på minnen som har allokerats av andra program. Då blir det strul.