1 / 11

Delphi og C++ Builder

Delphi og C++ Builder. C++ Referencer og pointere. 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.

corby
Download Presentation

Delphi og C++ Builder

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation 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

More Related