..


Liens sponsorisés

Surcharge des opérateurs new et delete en C + +

Article écrit par Damiano Verda
Page 1 sur 2

Parmi les traits distinctifs du langage C + + que les autres langages de programmation, sûrement nous identifions la possibilité d'étendre l'utilisation du mécanisme des opérateurs aussi surchargé, en plus de fonctions ou les méthodes d'une classe.

En un mot, la «surcharge est, en général, un mécanisme de dérivation des fonctions avec le même nom (et généralement faire un semblable mais non identique) basé sur le nombre et le type de paramètres fournis.
Par exemple, j'ai définir deux fonctions d'impression, un générique (sans paramètres) qui imprime une série d'informations prédéterminées, et une autre dans laquelle l'utilisateur peut spécifier par le réglage des paramètres de façon appropriée, quelle information est d'intérêt et donc à être imprimé.

La fonction d'impression est, par conséquent, dans ce cas, redéfinie en fonction de l'information fournie par différentes saisies par l'internaute. De même, le C + + vous permet de redéfinir les opérateurs: on pense aux opérateurs mathématiques "+", "-", "*" et "/". Il peut être intéressant et pratique, par exemple, de redéfinir les opérateur "+" est appliquée si elle n'est pas des nombres, mais des chaînes (ensembles de caractères alphanumériques). Dans ce dernier cas, la "somme" correspond à la concaténation de chaînes, par exemple si la chaîne est "Bonjour" et b dans la chaîne "world", l'opération

 



 chaîne de c = a + b

 
conduire à la création de la chaîne C, dont la valeur est "Bonjour tout le monde".

'S surchargé, et en particulier la surcharge d'opérateur en C + + , sont encore traitées dans un article précédent, à laquelle nous nous référons pour complément d'enquête.

Nous nous proposons maintenant de considérer, cependant, en particulier la façon dont ce même mécanisme peut être étendu à d'autres types d'opérateurs et de leur utilité, notamment par référence aux nouveaux opérateurs et de supprimer, utile pour la gestion de la mémoire.

Gestion de la mémoire

Les opérateurs new et delete sont utiles pour la gestion de la mémoire, en particulier de réserver et attribuer (ou allouer) la mémoire nécessaire pour un nouvel objet (nouveau) et à free (ou désallouer) de la mémoire pour une utilisation future (supprimer).

Un aspect très intéressant du C + +, ce qui la distingue de C, il est l'existence de nouvelles et de suppression, qui permettent, par exemple en matière de nouvelles, de calculer l'espace nécessaire pour chaque objet automatiquement (alors que la commande équivalent en C, malloc, oblige le programmeur à spécifier quelle est la taille de l'objet à allouer).

A ce stade, il est naturel de se demander ce que pourrait être l'utilité d'un mécanisme de surcharge, car la force des nouvelles et de suppression est juste un grand usage général, il semble inutile de faire une nouvelle définition qui prend en compte un certain nombre de cas. Le prix d'un opérateur est tellement générique, mais, comme cela arrive souvent, un certain manque de contrôle de. Par exemple, il n'est pas possible, en utilisant la version par défaut du nouvel opérateur, il suffit de vérifier s'il ya eu des problèmes dans l'allocation de la mémoire nécessaire (mémoire disponible? A été allouée correctement?). Pour surmonter ce problème, on peut avoir recours à des «surchargé.

Donc nous allons discuter maintenant avec un exemple simple, un cas de surcharge du nouvel opérateur, en soulignant que les considérations ci et les procédures sont valables même si vous voulez supprimer de la surcharge des opérateurs.

Dans la même catégorie ...
E-Learning
AutoCAD (eBook) AutoCAD (eBook)
Création de structures architecturales. À seulement 29 €.
Graver des CD et des DVD (ebook) Graver des CD et des DVD (ebook)
Guide pour graver des CD et des DVD avec des programmes freeware. À seulement 25 €.
SQL et bases de données (cours) SQL et bases de données (cours)
Créer et gérer des bases de données relationnelles. A partir de 39 €.
Liens sponsorisés