Gå til innhold

Endre verdien på en const int i C++


Anbefalte innlegg

Videoannonse
Annonse

#include <iostream>

using namespace std;


int main()
{
int const* i = new int(123);
*const_cast<int*>(i) = 321;
 cout << *i << endl;
delete(i);

int const& j = 123;
const_cast<int&>(j) = 321;
cout << j << endl;

return(0);
} // main

 

Vakkert? ikke akkurat ..

 

Edit:

La til "reference-versjon".

Endret av søppel
Lenke til kommentar

Oppførselen er derimot udefinert så lenge variabelen faktisk er konstant, fordi det kan finnes maskinvaresperrer for å sikre at den faktisk er konstant. Med andre ord, bare bruk const_cast<>() når du må late som at en variabel som ikke endres ikke er konstant.

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å
×
×
  • Opprett ny...