Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Delphi og C++ Builder C++ Referencer og pointere.

Lignende præsentationer


Præsentationer af emnet: "Delphi og C++ Builder C++ Referencer og pointere."— Præsentationens transcript:

1 Delphi og C++ Builder C++ Referencer og pointere

2 Reference typer En reference er et alternativt navn, eller alias, for et objekt. Bruges især når brugerdefinerede klasser skal anvendes som argumenter eller returtyper fra funktionskald. Notationen int& b … betyder, at b er en reference til en variabel af typen int.

3 Referencer En reference skal initialiseres, så den er synonym med et eksisterende objekt. Værdien for en reference kan ikke ændres, efter at den er initialiseret. int k = 5; int& b = k; int m = b;// m er 5 b = 12// k (og b) er 12

4 Referencer Efter initialisering er en reference permanent. int k; int& b = k; b = 5;// k er 5 b++;// k forøges til 6

5 Referencer Const qualifier kan anvendes i forbindelse med erklæring af en type for at markere, at den ikke må ændres. Const kan også bruges på en reference type. int k = 5; const int& b = k; k = 10;// OK b = 12;// Error

6 Pointere En variabel (et objekt) repræsenterer et område i hukommelsen, hvis indhold er den værdi, der aktuelt er tildelt variablen. En pointer er en variabel, som indeholder adressen på et andet objekt. Hvis pointeren i sig selv er en erklæret variabel, er den ligeledes repræsenteret ved et område i hukommelsen, der så indeholder en adresse.

7 Pointere Operatoren & (også kaldet adresse operatoren) kan anvendes i forbindelse med en variabel, og giver så adressen på variablen i stedet for variablens værdi. int tal = 27; int* pTal;// Pointer declarator pTal = &tal; // Address operator

8 Pointere Indirection operatoren * kan anvendes på en pointer variabel, når man ønsker at få fat på den værdi, som pointeren refererer til. int tal = 27; int* pTal;// Pointer declarator pTal = &tal; int temp = *pTal;

9 Pointere i C++ Eftersom *pTal repræsenterer et int objekt, må man bruge *pTal overalt, hvor det er lovligt at bruge et int objekt som f.eks. tal. temp = *pTal + 1; cout << *pTal; *pTal = 10;

10 Pointere i C++ Hvis variablen pTal anvendes i et udtryk, er det pointerens værdi, der er involveret. Ændring af en pointers værdi på denne måde er ikke tilladt i ret mange programmeringssprog. int qTal = pTal;// Kopiér pointer pTal++;// Forøg pointerens værdi

11 Pointere i C++ Pointere kan kun pege på variabler af den rigtige type. int tal; double z; int* pTal; pTal = &tal;// Lovligt pTal = &z;// Ulovligt - error


Download ppt "Delphi og C++ Builder C++ Referencer og pointere."

Lignende præsentationer


Annoncer fra Google