Spécificateurs statiques de la classe de stockage

Les spécificateurs statiques de la classe de stockage, statique et extern, peuvent être appliqués aux objets et aux fonctions.Le tableau suivant indique où les mots clés statique et extern peuvent et ne peuvent pas être utilisés.

Utilisation de statique et des extern

Construction

Peut static

assurez utiliser ?

Extern pouvez

assurez utiliser ?

déclarations de fonction dans un bloc

Non

Oui

Arguments formels d'une fonction

Non

Non

objets dans un bloc

Oui

Oui

Objets en dehors d'un bloc

Oui

Oui

Fonctions

Oui

Oui

Fonctions membres de classe

Oui

Non

données de membre de classe

Oui

Non

noms d'typedef

Non

Non

Un nom spécifié à l'aide de le mot clé de statique a une liaison interne à l'exception de les membres static d'une classe qui ont une liaison externe.Autrement dit, il n'est pas visible à l'extérieur de l'unité de traduction actuelle.Un nom spécifié à l'aide de le mot clé d' extern a une liaison externe à moins que précédemment défini comme ayant une liaison interne.Pour plus d'informations sur la visibilité des noms, consultez portée et le programme et liaison.

[!REMARQUE]

Fonctionne déclarés comme inline et qui ne sont pas des fonctions membres de classe sont fournis les mêmes caractéristiques de liens que les fonctions déclarées comme statique.

Un nom de classe dont la déclaration n'a pas encore été rencontrée par le compilateur peut être utilisé dans une déclaration d' extern .Le nom généré avec une déclaration ne peut pas être utilisé tant que la déclaration de classe ait été détectée.

Voir aussi

Référence

Spécificateur de classe de stockage