Deklaracje
Deklaracje wprowadzają nowe nazwy do programu.Tematy omówione w tej sekcji obejmują następujące zastosowania dla deklaracji.
Określa storage-class, type, i linkage dla obiektu lub funkcji.
Deklaracja function, jako inline lub virtual.
Skojarzenie nazwy ze stałą (deklaracja enumeration).
Deklaracja nowego type (class, struct, lub deklaracja union).
Określenie synonimu dla typu (deklaracja typedef).
Określenie przestrzeni nazw.
Deklaracja typu jako synonimu z alias.
Poza wprowadzeniem nowej nazwy, deklaracja określa, jak identyfikator ma być interpretowany przez kompilator.Deklaracje nie rezerwują automatycznie magazynu ze skojarzonym identyfikatorem.Magazyn rezerwacji definicji.
[!UWAGA]
Większość deklaracji jest także definicjami.Deklaracje, które nie są definicjami, obejmują deklaracje klasy bez listy elementów członkowskich i deklaracji funkcji bez treści funkcji.
Deklaracja może być jedną z:
[ Specyfikatory Decl ] [ declarator listy ];
function-definition
Specyfikacja konsolidacji
Specyfikacja szablon
alias szablony
jawne wystąpienia szablonu
jawne specjalizacji szablonu
przestrzeń nazw definicji
przestrzeń nazw alias definicji
Deklaracja aliasu
using — Deklaracja
za pomocą dyrektywy
Definicja Asm
Specyfikatory decl składnik oświadczenia jest wyświetlany jako opcjonalną; jednak można pominąć tylko w deklaracji typu klasy lub wyliczenia.
Declarators w declarator listy składnika zawierać nazwy został zadeklarowany.Chociaż listy declarator jest wyświetlany jako opcjonalną, można pominąć tylko wtedy, gdy deklaracje lub definicji funkcji.
[!UWAGA]
Deklaracja funkcji jest często nazywana prototypem.Prototyp zawiera informacje o typie na temat argumentów i zwracanego typu funkcji.Ponadto, prototyp umożliwia kompilatorowi wykonywanie poprawnej konwersji i pomaga zapewnić bezpieczeństwo typów.
Nazwa jest uznawany za można zadeklarować natychmiast po jej declarator, ale przed jego inicjatora (opcjonalnie).Aby uzyskać więcej informacji, zobacz deklaracji punktu.
Deklaracje występują w zakresie.Zakres kontroluje widoczność zgłoszonej nazwy i ewentualnie czas trwania zdefiniowanego obiektu.Aby uzyskać więcej informacji na temat reguł współdziałania zakresu z deklaracją, zobacz Zakres.
Deklaracja obiektu jest również definicją, chyba że zawiera specyfikator klasy magazynowej extern opisany w Specyfikatory klasy magazynowej.Deklaracja funkcji jest również definicją, chyba że jest prototypem.Prototyp jest nagłówkiem funkcji bez definiowania treści funkcji.Definicja obiektu powoduje alokację pamięci masowej i odpowiednie inicjowania dla tego obiektu.
Tematy pokrewne
Aby uzyskać informacje na temat definicji funkcji, zobacz Definicje funkcji języka C++.
Aby uzyskać informacje na temat specyfikacji powiązania, zobacz Specyfikacje połączenia.
Dla informacji o Specyfikacja szablon, jawnego wystąpienia szablonu i jawnego specjalizacji szablonu, zobacz Szablony.
Aby uzyskać informacje na temat definicji obszaru nazw i nazw alias definicji, zobacz Przestrzenie nazw (C++).
Aby uzyskać informacje na temat definicja asm, zobacz __asm.