SPiNMedlem sedan mars 20005 832 inlägg
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?
Skulle någon vilja förklara?
------------------
SPiN, bjorne.w@telia.com
-- They pretend to pay me, I pretend to work --
adde2Medlem sedan maj 2000144 inlägg
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
VetgirigMedlem sedan nov. 2000203 inlägg
Pekare är någonting C++ ärvt från C.
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.
------------------
Anders Lindbäck,Igiro Internet Giro
UlfTMedlem sedan maj 20016 050 inlägg
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.
SPiNMedlem sedan mars 20005 832 inlägg
Ok, tack för alla svar :)
Jag hörde också att vid vissa tillfällen måste man använda pekare, som t.ex. då stacken är fylld...
Hur som helst verkar det inte vara vettigt att använda pekare ;)
------------------
SPiN, bjorne.w@telia.com
-- They pretend to pay me, I pretend to work --
PeWMedlem sedan juni 20006 839 inlägg
Hur som helst verkar det inte vara vettigt att använda pekare
Om du ska programmera i c/c++ är du nog så illa tvungen för att få korrekta program...
------------------
Ancilla, face mea laganum!