citera!
[C++] Lite allmäna frågor om Pekare
Visa signatur
Finns det någon som helst tumregel när de ska användas? Vad är det som gör dem så bra? Vad är det för skillnad på
int i;
int* j;?
Jag sitter nämligen och håller på med en labb nu, där det är tänkt att man ska lära sig pekare, referensparametrar, klasser, ja, i princip hela C++ Direkt boken.
Än så länge behöver jag ingen hjälp då jag löst hela labben med referensparametrar, men, det känns inte som jag gjort det på rätt sätt. (även om programmet funkar till fullo)
Referensparametrar är för att skicka in värde(n) i funktioner, korrekt? Med hjälp av dessa funktioner kan du i sin tur värdesätta alla deklarationer i en class? Eller?
Skillnaden är att int i, är en plats i minnet som sparar en integer, int* j, är en plats i minnet som sparar adressen till en integer.
jag brukar tänka att int* j, är en vägskylt
Du skall generellt alltid använda referens över pekare, om du kan. T.ex. slipper du ta hänsyn till att någon skickar in NULL. Ibland är det dock logiskt att kunna skicka NULL.
I C kan du dock inte skicka som referense, utan löser det med pekare.
Det finns en bra diskussion om det här: http://www.cplusplus.com/forum/beginner/3958/
citera!
Behovet av pekare känns nog större när det blir nödvändigt att allokera minne dynamiskt.
Copyright © 1999–2023 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.