C ++ const_cast

C ++ const_cast
Pour essentiellement toutes les intention, comme les processus avec les types de données, les interactions avec les pointeurs et les processus dans les classes, C ++ est un langage efficace et puissant de programmation qui peut être utilisé pour manipuler des informations et du stockage. En C ++, les processus const_cast pourraient être utilisés avec des types de données et des classes de structure.

L'opérateur const_cast en C ++ sera utilisé dans cet article. Prenons le casting en C ++ avant de continuer.

Une méthodologie pour convertir un type de données ou l'autre est en train de couler. L'opérateur coulé est l'opérateur employé pour cette fonction. Il s'agit d'un opérateur qui oblige la conversion entre deux différents types de données. Un opérateur de distribution est un opérateur dans le langage de programmation C ++ qui nécessite de transformer un type de données en un autre.

Le const_cast est l'un des opérateurs de fonte, qui se transforme entre deux types de données avec des valeurs spécifiques. Une valeur non initialisée peut être transformée en une valeur initialisée à l'aide de la méthode const_cast pour associer. Const_cast est problématique car il rend le langage de programmation C ++ incapable d'empêcher les utilisateurs de chercher à changer un objet constant. En conséquence, cette action n'est pas définie.

Exemple non. 1

Un modificateur constant ou dynamique peut être ajouté ou éliminé d'un type à l'aide de l'opérateur const_cast. L'opérateur const_cast sera utilisé dans les exemples suivants:

#inclure
Utilisation de Namespace Std;
void f (int * q)
couter << *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;
retour 0;



Ici, nous allons incorporer la bibliothèque . L'espace de noms standard suivant a été utilisé. Nous appelons la fonction f (). Nous passons le pointeur (* Q) comme paramètre de cette fonction. La déclaration «cout» sera utilisée pour montrer le résultat. Ici, nous utilisons la méthode principale (). Nous allons créer une variable «i» et définir sa valeur à 30. L'entier sera spécifié comme type de données, et cette variable sera constante. Maintenant, nous avons créé un nouveau pointeur (* j), et ici, nous fournissons la valeur de la variable constante «I» à ce pointeur.

Le pointeur du type de données entier (* e) sera construit, et nous donnons sa valeur en tant que const_cast. Ensuite, nous modifions la valeur de la variable «i». Ici, il n'agira pas comme une variable constante. En utilisant la valeur de la variable «i», nous donnerons la valeur au pointeur constant (* J1). Ensuite, nous avons appliqué const_cast. Nous définissons la valeur du pointeur «E1». L'instruction de retour est utilisée.

Exemple non. 2

Dans ce cas, la variable a une valeur constante, et le pointeur constant pointe sur cette variable. Cependant, nous pouvons modifier la valeur de la variable en construisant un nouveau pointeur ayant un type de données similaire et en utilisant const_cast.

#inclure
Utilisation de Namespace Std;
int main()
const int t = 40;
const int * u = & t;
couter<<"The original value:"<<*u<<"\n";
int * x = const_cast(u);
* x = 70;
couter<<"The updated value:"<<*u;
retour 0;



Tout d'abord, le package sera importé. L'espace de noms standard sera utilisé dans la ligne suivante. Commençons le code dans le corps de la fonction principale (). Une variable nommée «T» est initialisée; Son type de données est un entier. Nous lui donnons la valeur «40."Le mot-clé" const "est avant son type de données" int ", donc cette valeur serait constante. La valeur de la variable constante «t» sera spécifiée pour le pointeur (u) lorsque nous construisons ce pointeur.

Ensuite, nous utilisons l'instruction «cout» pour afficher l'expression «la valeur d'origine» à l'écran. Pour utiliser const_cast, un nouveau pointeur sera construit. Dans ce cas, le pointeur «x» a été généré avec un type de données entier similaire. Ainsi, nous pouvons modifier la valeur du pointeur constant «u» si nous donnons ce pointeur «u». Cela fait référence à la variable constante requise «T», dans Const_cast, et alloue un nombre aléatoire au pointeur x. En utilisant const_cast dans cette méthode, nous avons modifié la valeur constante de la variable de 40 à 70. L'instruction «cout» sera ensuite utilisée pour imprimer la valeur modifiée à l'écran. Pour résilier le code, la commande «return» devrait être entrée.

Exemple non. 3

Modifier une valeur explicitement spécifiée comme constante est une fonctionnalité non définie. Évaluez le code suivant:

#inclure
Utilisation de Namespace Std;
int main()
const int t = 40;
const int * u = & t;
couter<<"The original value:"<<*u<<"\n";
int * x = const_cast(u);
* x = 70;
couter<<"The updated value:"<<*u;
retour 0;



Au début du code, nous inclurons le fichier d'en-tête . Cette bibliothèque sera responsable des méthodologies d'entrée et de sortie. Ensuite, nous avons utilisé l'espace de noms standard. Maintenant, nous déclarerons une fonction. Dans cette fonction, nous créerons un pointeur (P). Ensuite, nous attribuons la valeur au pointeur (P). Nous avons utilisé la déclaration de retour, qui renvoie la valeur du pointeur. Nous initialisons une variable «V», et le type de données de cette variable est un entier. Nous lui attribuons la valeur «20». Cette valeur sera constante car nous avons utilisé le mot-clé «const» avant d'initialiser cette variable.

Ici, nous construisons un nouveau pointeur (p_1). Et avec cela, nous utilisons const_cast. La fonction «F (P 1)» vise à modifier la valeur de la variable constante «V» à l'aide de const Cast. Nous définissons une fonction et passons la valeur du nouveau pointeur comme son argument. Ensuite, la commande «cout» est utilisée pour afficher la sortie. En fin de compte, une déclaration de retour sera utilisée.

Conclusion

Dans cet article, nous avons discuté const_cast en c++. Les données peuvent être converties d'un type à l'autre par une procédure appelée Casting. Nous avons exécuté quelques exemples qui démontrent l'utilisation principale de const_cast. Le mot const_cast transformera un pointeur en une entité constante en une référence à une variable non constante. L'opérateur const_cast ne sera pas appliqué pour modifier directement un état variable. Un attribut qui n'a pas été défini comme «const» pourrait être efficacement modifié si sa constante est abandonnée.