Comme il arrive souvent, vous pourriez être à mélanger les notions de portée et durée de vie, donc je vais répondre à la fois.
La portée d'un nom déclaré dans un constructeur est la même que la portée d'un nom local (le fait qu 'il est un constructeur fait aucune différence): le champ du nom se prolonge à l'extrémité du bloc dans lequel le nom est déclaré (et il peut avoir des "trous" quand le nom est caché par une déclaration d'un même "plus local" éntifier avec le même nom).
La durée de vie de l'objet am défini à l'intérieur d'un constructeur est régie par les mêmes règles que la durée de vie d'un objet défini localement (le fait qu'il est un constructeur ne fait aucune différence que ce soit): un objet avec une durée de stockage automatique est détruit à la fin de sa portée, tandis qu'un objet avec une durée de stockage statique vit pour toujours.
Merci! Je ne savais pas si le constructeur était considéré comme une fonction normale. –
Non entièrement précis. Les objets définis avec une durée de stockage statique sont hors de portée, mais * ne sont pas * détruits une fois le constructeur terminé. – AnT
@ ANT en quoi cela diffère-t-il de la statique dans toute autre fonction? – Caleth