Udostępnij za pośrednictwem


Specyfikatory statycznych klas magazynowania

Statyczne modyfikatory klasy magazynowej static i extern, mogą być stosowane do obiektów i funkcji.W poniższej tabeli pokazano, gdzie słowa kluczowe static i extern mogą i nie mogą być używane.

Użycie static i extern

Konstruktor

Czy można używać

static?

Czy można używać

extern?

Deklaracje funkcji w bloku

Nie

Tak

Argumenty formalne do funkcji

Nie

Nie

Obiekty w bloku

Tak

Tak

Obiekty poza blokiem

Tak

Tak

Funkcje

Tak

Tak

Funkcje składowe klasy

Tak

Nie

Dane elementu członkowskiego klasy

Tak

Nie

nazwy typedef

Nie

Nie

Nazwa określona za pomocą słowa kluczowego static ma wewnętrzne powiązania z wyjątkiem elementów statycznych klasy, które mają powiązania zewnętrzne.Oznacza to, że nie jest widoczna na zewnątrz bieżącej jednostki tłumaczenia.Nazwa określona za pomocą słowa kluczowego extern ma zewnętrzne powiązania, chyba że została uprzednio zdefiniowana jako posiadająca wewnętrzne powiązania.Aby uzyskać więcej informacji dotyczących widoczności nazw zobacz Scope i Program i powiązania.

[!UWAGA]

Funkcje, które zostały zadeklarowane jako inline i które nie są funkcjami składowymi klasy otrzymują te same właściwości powiązania co funkcje zadeklarowane jako static.

Nazwa klasy, której deklaracja nie została jeszcze napotkana przez kompilator może być używana w deklaracji extern.Nazwa wprowadzona za pomocą takiej deklaracji nie może być użyta dopóki nie zostanie napotkana deklaracja klasy.

Zobacz też

Informacje

Specyfikatory klas magazynowania