C ++ const_cast

C ++ const_cast
Zasadniczo każdy cel, taki jak procesy z typami danych, interakcje z wskaźnikami i procesy w klasach, C ++ jest wydajnym i silnym językiem programowania, którego można użyć do manipulowania informacjami i przechowywaniem. W C ++ procesy const_cast można wykorzystać z strukturą typów danych i klas.

Operator const_cast w C ++ zostanie użyty w tym artykule. Przed przejściem dalej przejrzyjmy casting w C ++.

Metodologia konwersji jednego typu danych lub drugiego jest rzucanie. Operator odlewów jest operatorem zastosowanym do tej funkcji. Jest to operator, który zmusza konwersję między dwoma różnymi typami danych. Operator odlewu jest operatorem w języku programowania C ++, który wymaga przekształcenia jednego typu danych w inny.

Const_Cast jest jednym z operatorów odlewów, który przekształca się między dwoma typami danych o określonych wartościach. Nieokreśloną wartość można zmienić na zainicjowaną wartość za pomocą const_cast w celu powiązania metody typu. Const_cast jest problematyczny, ponieważ czyni językiem programowania C ++ niezdolnym do powstrzymania użytkowników przed staraniem się o zmianę stałego obiektu. W rezultacie to działanie jest niezdefiniowane.

Przykład nr. 1

Stały lub dynamiczny modyfikator można dodać lub wyeliminować z typu za pomocą operatora const_cast. Operator const_cast zostanie użyty w następujących przykładach:

#włączać
za pomocą przestrzeni nazw Std;
void f (int* q)
Cout << *q << endl;

int main (void)
const int i = 30;
const int* j = & i;
int* e = const_cast(J);
f (e);
int i1 = 60;
const int* j1 = &i1;
int* e1 = const_cast(J1);
*e1 = 90;
powrót 0;



Tutaj zamierzamy włączyć bibliotekę . Zastosowano następującą standardową przestrzeń nazwową. Nazywamy funkcję f (). Przekazujemy wskaźnik (* q) jako parametr tej funkcji. Oświadczenie „cout” zostanie wykorzystane do pokazania wyniku. Tutaj używamy metody main (). Utworzymy zmienną „i” i ustawimy jej wartość na 30. Liczba całkowita zostanie określona jako jego typ danych, a ta zmienna będzie stała. Teraz tworzymy nowy wskaźnik (*j), a tutaj podajemy wartość stałej zmiennej „i” do tego wskaźnika.

Wskaźnik typu danych liczb całkowitych (*e) zostanie skonstruowany i podajemy jego wartość jako const_cast. Następnie zmieniamy wartość zmiennej „i”. Tutaj nie będzie działać jako zmienna stała. Korzystając z wartości zmiennej „i”, podamy wartość stałym wskaźnikom (* J1). Następnie zastosowaliśmy const_cast. Ustawiamy wartość wskaźnika „E1”. Instrukcja powrotu jest używana.

Przykład nr. 2

W tym przypadku zmienna ma stałą wartość, a stały wskaźnik wskazuje na tę zmienną. Możemy jednak zmodyfikować wartość zmiennej, konstruując nowy wskaźnik o podobnym typu danych i za pomocą const_cast.

#włączać
za pomocą przestrzeni nazw Std;
int main ()
const int t = 40;
const int* u = & t;
Cout<<"The original value:"<<*u<<"\n";
int* x = const_cast(u);
*x = 70;
Cout<<"The updated value:"<<*u;
powrót 0;



Przede wszystkim pakiet zostanie zaimportowany. Standardowy przestrzeń nazw zostanie użyta w następnym wierszu. Rozpocznijmy kod w treści funkcji main (). Zmienna o nazwie „T” jest inicjowana; Jego typ danych jest liczbą całkowitą. Dajemy mu wartość „40.„Słowo kluczowe„ const ”jest przed jego typem danych„ INT ”, więc ta wartość byłaby stała. Wartość zmiennej stałej „t” zostanie określona wskaźniku (u) podczas konstruowania tego wskaźnika.

Następnie wykorzystujemy instrukcję „Cout”, aby wyświetlić frazę „Oryginalną wartość” na ekranie. Aby wykorzystać const_cast, zostanie skonstruowany nowy wskaźnik. W tym przypadku wskaźnik „x” został wygenerowany z podobnym typem danych całkowitowych. Dlatego możemy zmodyfikować wartość stałego wskaźnika „u”, jeśli podamy ten wskaźnik „u”. Odnosi się to do wymaganej stałej zmiennej „T”, w Const_Cast, i przydziela liczbę losową do wskaźnika x. Wykorzystując const_cast w tej metodzie, zmodyfikowaliśmy stałą wartość zmiennej od 40 do 70. Instrukcja „Cout” zostanie następnie użyta do wydrukowania zmodyfikowanej wartości na ekranie. Aby zakończyć kod, należy wprowadzić polecenie „zwrócić”.

Przykład nr. 3

Modyfikacja wartości, która jest wyraźnie określona jako stała, jest niezdefiniowaną funkcjonalnością. Oceń następujący kod:

#włączać
za pomocą przestrzeni nazw Std;
int main ()
const int t = 40;
const int* u = & t;
Cout<<"The original value:"<<*u<<"\n";
int* x = const_cast(u);
*x = 70;
Cout<<"The updated value:"<<*u;
powrót 0;



Na początku kodu dołączymy plik nagłówka . Ta biblioteka będzie odpowiedzialna za metodologie wejściowe i wyjściowe. Następnie wykorzystaliśmy standardową przestrzeń nazw. Teraz zadeklarujemy funkcję. W ramach tej funkcji utworzymy wskaźnik (p). Następnie przypisujemy wartość do wskaźnika (p). Zastosowaliśmy oświadczenie zwrotne, które zwraca wartość wskaźnika. Zainicjujemy zmienną „V”, a typ danych tej zmiennej jest liczbą całkowitą. Przypisujemy mu wartość „20”. Ta wartość będzie stała, ponieważ wykorzystaliśmy słowo kluczowe „const” przed zainicjowaniem tej zmiennej.

Tutaj konstruujemy nowy wskaźnik (P_1). Wraz z tym używamy const_cast. Funkcja „f (p 1)” ma na celu modyfikację wartości zmiennej stałej „v” za pomocą Cont Cast. Definiujemy funkcję i przekazujemy wartość nowego wskaźnika jako jej argument. Następnie polecenie „Cout” służy do wyświetlania wyjścia. Ostatecznie zostanie użyta instrukcja powrotu.

Wniosek

W tym artykule omówiliśmy const_cast w c++. Dane można przekonwertować z jednego rodzaju na drugi za pomocą procedury zwanej odlewem. Wykonaliśmy kilka przykładów, które pokazują główne użycie const_cast. Const_Cast Word przekształci wskaźnik w stałą jednostkę w odniesienie do zmiennej nieksięgowej. Operator Const_Cast nie zostanie zastosowany do bezpośredniej zmiany stanu zmiennego. Atrybut, który nie został zdefiniowany jako „const”, można skutecznie zmodyfikować, jeśli jego stała zostanie porzucona.