Gå til innhold

Spøsmål om const


Anbefalte innlegg

Det jeg lurer på er hva forskjellen er på disse funksjonene.

 

const CVector3 CVector3::operator*(const CVector3 vVector) const

const CVector3 CVector3::operator*(const CVector3 vVector)

 

Jeg ser ikke hva const på slutten gjør, men den gjør noe :hmm:

 

Takker på forhånd for alle svar.

Lenke til kommentar
Videoannonse
Annonse

Bruk av "const" på slutten av metodedeklarasjon og definisjon indikerer at metoden ikke endrer noen data i klassen. Kompilatoren bruker dette til å bedømme hvilke metoder man har tilgang til dersom man opererer mot et const objekt av klassen.

 

Eksempel:

 

class Foo

{

public:

void doStuff()

{ }

void doStuff() const

{ ... }

};

 

Foo f;

const Foo cf;

 

f.doStuff(); // Kaller første metode (uten const)

cf.doStuff(); // Kaller andre metode (med const)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...