Sdílet prostřednictvím


const_cast operátora

Odebere const, volatile, a __unaligned žádný atribut ze třídy.

const_cast < type-id > ( expression )

Poznámky

Ukazatel myši na člena nebo ukazatele na jakýkoli typ objektu lze explicitně převést na typ, který je totožný s výjimkou const, volatile, a __unaligned kvalifikátory.Ukazatele a odkazy výsledek bude najdete původní objekt.Ukazatele dat členům naleznete výsledek bude stejný jako původní (uncast) ukazatel na datový člen člen.V závislosti na typu Odkazovaný objekt může být operace zápisu výsledný ukazatel, odkaz nebo ukazatel na datový člen vyrábět nedefinované chování.

Nelze použít const_cast operátora potlačit přímo konstantní stav proměnné konstantní.

const_cast Operátor převede hodnotu ukazatele null na hodnotu typu cílového ukazatele null.

Příklad

// expre_const_cast_Operator.cpp
// compile with: /EHsc
#include <iostream>

using namespace std;
class CCTest {
public:
   void setNumber( int );
   void printNumber() const;
private:
   int number;
};

void CCTest::setNumber( int num ) { number = num; }

void CCTest::printNumber() const {
   cout << "\nBefore: " << number;
   const_cast< CCTest * >( this )->number--;
   cout << "\nAfter: " << number;
}

int main() {
   CCTest X;
   X.setNumber( 8 );
   X.printNumber();
}

Na řádek obsahující const_cast, typ dat this je ukazatel const CCTest *.const_cast Operátor změní typ dat this ukazatel na CCTest *, umožňující člen number chcete upravit.Tavby vydrží pouze pro zbývající část prohlášení, ve kterém je zobrazen.

Viz také

Referenční dokumentace

Obsazení operátory

Klíčových slov jazyka C++