des questions sur le nom de déformation en C++

Je suis en train d'apprendre et de comprendre name mangling en C++. Voici quelques questions:

(1) à Partir de devx

Quand une fonction globale est surchargé, à la génération de déformation d'un nom pour chaque version surchargée est unique. Name mangling " est également appliqué aux variables. Ainsi, une variable locale et une variable globale avec le même utilisateur-nom donné encore obtenir distinctes noms déformés.

Existe-il d'autres exemples utilisant name mangling, en plus de la surcharge de fonctions et de même nom des variables globales et locales ?

(2) à Partir de Wiki

Le besoin s'en fait sentir, où le langage permet à des entités différentes d'être nommée avec le même identifiant, aussi longtemps qu'ils occupent un espace de noms différent (où un espace de noms est généralement définie par un module de classe, ou explicite de l'espace de noms de la directive).

Je n'arrive pas à comprendre pourquoi le nom de déformation est appliquée uniquement pour les cas où les identificateurs appartiennent à des espaces de noms différents, comme la surcharge des fonctions peuvent être dans le même espace de noms et le nom des variables globales et locales peuvent également être dans le même espace. Comment comprendre cela?

N'variables avec le même nom mais dans différentes étendues également utiliser le nom d'amputation?

(3) est-ce que C ont amputation des noms? Si cela ne fonctionne pas, comment peut-il traiter le cas lorsque certaines variables globales et locales ont le même nom? C n'a pas de surcharge de fonctions, droit?

Merci et salutations!

InformationsquelleAutor Tim | 2010-05-30