Partager via


Spécificateurs statiques de la classe de stockage

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

Utilisation de static et extern

Construction

static

peut-il être utilisé ?

extern

peut-il être utilisé ?

Déclarations de fonction dans un bloc

Non

Oui

Arguments formels d'une fonction

Non

Non

Objets d'un bloc

Oui

Oui

Objets extérieurs à un bloc

Oui

Oui

Fonctions

Oui

Oui

Fonctions membres de classe

Oui

Non

Données membres de classe

Oui

Non

Noms typedef

Non

Non

Un nom spécifié avec le mot clé static a une liaison interne sauf pour les membres static d'une classe qui ont une liaison externe. Autrement dit, il n'est pas visible hors de l'unité de traduction actuelle. Un nom spécifié avec le mot clé extern a une liaison externe sauf s'il a été défini précédemment comme ayant une liaison interne. Pour plus d'informations sur la visibilité des noms, consultez Portée et Programme et liaison.

Notes

Les fonctions déclarées comme inline et qui ne sont pas des fonctions membres de classe reçoivent les mêmes caractéristiques de liaison que les fonctions déclarées comme static.

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

Voir aussi

Référence

Spécificateurs de classe de stockage