Udostępnij za pośrednictwem


Składnik rozszerzeń dla platform Runtime

Visual C++ zawiera Pomoc programu przeciwko runtime platformy rozszerzeń języka.Za pomocą Rozszerzenia składników dla programu Visual C++ (C++/CX), można program Windows Store aplikacje i składniki, które skompilować do kodu macierzystego.Chociaż można tworzyć Windows Store aplikacje przez Programowanie bezpośrednio przeciwko Środowisko wykonawcze systemu Windows interfejsów COM, używając C++/CX, można pracować z konstruktorów, wyjątki i inne nowoczesne C++ programming idiomy.Aby włączyć C++ programowania w środowisku zarządzanym wykonanie na platformie .net, można użyć C++/CLI.

Dwóch modułów wykonawczych, jeden zestaw rozszerzeń

C++/CXjest podzbiorem C++/CLI.Dla rozszerzeń, które są wspólne dla C++/CX i C++/CLI, semantyka zależy od tego, czy są wyróżniane common language runtime (CLR) lub Środowisko wykonawcze systemu Windows.Do kompilowania aplikacji użytkownika na Środowisko wykonawcze systemu Windows, określ /ZW opcję kompilatora.Uruchomienie go w CLR skompilować, określ /clr opcję kompilatora.Te przełączniki są ustawiane automatycznie, korzystając z programu Visual Studio do utworzenia projektu.

Aby uzyskać więcej informacji na temat tworzenia Windows Store aplikacje w C++, zobacz Roadmap for Windows Store apps using C++.

C++/CLIrozszerzenie standardu ISO/ANSI C++ i jest definiowana w Ecma C++/CLI standardowego.Aby uzyskać więcej informacji, zobacz .NET Programowanie w języku Visual C++.

Słowa kluczowe typu danych

Zawierać rozszerzenia języka agregacji słowa kluczowe, które są słowa kluczowe, które składają się dwa tokenów oddzielone odstępu.Tokeny może być jeden znaczenia, gdy jest używane oddzielnie i innym znaczeniu, kiedy są używane razem.Na przykład słowo "ref" jest identyfikatorem zwykłych i wyraz "Klasa" jest słowo kluczowe, która deklaruje macierzystych klas.Gdy te wyrazy są połączone do formularza, ale ref class, Wynikowe słowo kluczowe agregacji deklaruje podmiot, który jest znany jako klasy runtime.

Rozszerzenia również obejmować kontekstową słowa kluczowe.Słowo kluczowe jest traktowana jako kontekstową w zależności od rodzaju instrukcji, która zawiera i jego położenie w tej instrukcji.Na przykład token "właściwości" może być identyfikator lub je zadeklarować specjalny rodzaj członek klasy publicznych.

Poniższa lista zawiera słowa kluczowe rozszerzenia języka C++.

Słowo kluczowe

Kontekstowy

Cel

Odwołanie

ref class

ref struct

Nr

Deklaruje klasy.

Klasy i struktury (C++ Component Extensions)

value class

value struct

Nr

Deklaruje klasy wartość.

Klasy i struktury (C++ Component Extensions)

interface class

interface struct

Nr

Deklaruje interfejsu.

interface class (C++ Component Extensions)

enum class

enum struct

Nr

Deklaruje wyliczenia.

enum class (C++ Component Extensions)

property

Tak

Deklaruje właściwość.

property (C++ Component Extensions)

delegate

Tak

Deklaruje pełnomocnika.

delegate (C++ Component Extensions)

event

Tak

Deklaruje zdarzenia.

event (C++ Component Extensions)

Zastąpić specyfikatory

Następujące słowa kluczowe można zakwalifikować override zachowanie dla wyprowadzania.Chociaż new słowo kluczowe jest rozszerzeniem języka C++, jest ona wyświetlana w tym miejscu ponieważ używany w kontekście dodatkowych.Niektóre Specyfikatory obowiązują również macierzysty programowania.Aby uzyskać więcej informacji, zobacz Jak: zadeklarować Override Specyfikatory w macierzystym kompilacje.

Słowo kluczowe

Kontekstowy

Cel

Odwołanie

abstract

Tak

Wskazuje, że funkcje lub klasy abstrakcyjnej.

abstract (C++ Component Extensions)

new

Nr

Wskazuje, że funkcja nie jest przesłonięcie wersji klasy podstawowej.

new (nowe gniazdo w vtable) (C++ Component Extensions)

override

Tak

Wskazuje, że metoda musi być przesłonięcie wersji klasa bazowa.

override (C++ Component Extensions)

sealed

Tak

Zapobiega jako klas podstawowych klas.

sealed (C++ Component Extensions)

Słowa kluczowe generyczne

Następujące słowa kluczowe zostały dodane do obsługi typów rodzajowych.Aby uzyskać więcej informacji, zobacz Typy ogólne (C++ Component Extensions).

Słowo kluczowe

Kontekstowy

Cel

generic

Nr

Deklaruje typu rodzajowego.

where

Tak

Określa ograniczenia, które są stosowane do parametr typu rodzajowego.

Różne słowa kluczowe

Następujące słowa kluczowe zostały dodane do rozszerzenia języka C++.

Słowo kluczowe

Kontekstowy

Cel

Odwołanie

finally

Tak

Wskazuje zachowanie wyjątek handlings.

Obsługa wyjątków (C++ Component Extensions)

for each, in

Nr

Wylicza elementy w kolekcji.

dla każdego z nich w

gcnew

Nr

Przydziela typów na stercie zebrane garbage.Use instead of new and delete.

ref new, gcnew (C++ Component Extensions)

ref new

Tak

Przydziela Środowisko wykonawcze systemu Windows typu.Use instead of new and delete.

ref new, gcnew (C++ Component Extensions)

initonly

Tak

Wskazuje, że członek mogą być inicjowane tylko w konstruktorze statycznym lub deklaracji.

InitOnly

literal

Tak

Tworzy zmienną literal.

literal (C++ Component Extensions)

nullptr

Nr

Wskazuje, że uchwyt lub wskaźnik nie wskazuje na obiekt.

nullptr (C++ Component Extensions)

Konstrukcje szablonu

Następujące konstrukcje języka są implementowane jako szablony, a nie jako słowa kluczowe.Jeśli określisz /ZW opcję kompilatora, zdefiniowano w lang obszaru nazw.Jeśli określisz /clr opcję kompilatora, zdefiniowano w cli obszaru nazw.

Słowo kluczowe

Cel

Odwołanie

array

Deklaruje tablicy.

Tablice (C++ Component Extensions)

interior_ptr

(Tylko CLR) Punkty danych w polu Typ odwołania.

interior_ptr (C++/CLI)

pin_ptr

(Tylko CLR) Wskazuje typy odwołań CLR tymczasowo wyłączyć system wyrzucania elementów bezużytecznych.

pin_ptr (C++/CLI)

safe_cast

Określa i wykonuje metodę optymalne rzutowanie typu runtime.

safe_cast (C++ Component Extensions)

typeid

(Tylko CLR) Pobiera System.Type obiekt, który zawiera opis danego typu lub obiektu.

typeid (C++ Component Extensions)

Declarators

Declarators następujący typ Poinstruuj runtime automatycznie zarządzać istnienia i usuwanie obiektów przydzielone.

Operator

Cel

Odwołanie

^

Deklaruje uchwyt do obiektu; oznacza to, że wskaźnik do Środowisko wykonawcze systemu Windows lub CLR obiektu, który jest automatycznie usuwany, gdy nie jest już używany.

Operator uchwytu do obiektu (^) (C++ Component Extensions)

%

Deklaruje odwołanie śledzenia; oznacza to, że odwołanie do Środowisko wykonawcze systemu Windows lub CLR obiektu, który jest automatycznie usuwany, gdy nie jest już używany.

Operator odwołania śledzenia (C++ Component Extensions)

Dodatkowe konstrukcje i Tematy pokrewne

W tej sekcji przedstawiono dodatkowych narzędzi programistycznych i tematy, które odnoszą się do środowiska CLR.

Temat

Opis

__identifier (C++/CLI)

(Środowisko wykonawcze systemu Windows and CLR) Umożliwia użycie słów jako identyfikatorów.

Listy zmiennych argumentów (...) (C++/CLI)

(Środowisko wykonawcze systemu Windows and CLR) Umożliwia podjęcie zmienna liczba argumentów funkcji.

.NET Framework ekwiwalenty na typy macierzystym C++ (C + +/ CLI)

Wyświetla listę typów CLR, które są używane zamiast typy C++.

elementu AppDomain__declspecModyfikator

__declspecModyfikator, który stanowi, że zmienne globalne i statyczne istnieje dla elementu appdomain.

Rzutowania w stylu C i kompilator /clr (C++/CLI)

Zawiera opis interpretowania styl c poświaty.

__clrcallKonwencja wywołania

Wskazuje standardem CLR konwencję wywołania.

__cplusplus_cli

Wstępnie zdefiniowane makra

Atrybuty niestandardowe (C++)

Opisuje sposób zdefiniowania własne atrybuty CLR.

Obsługa wyjątków (C++ Component Extensions)

Omówienie obsługi wyjątków.

Jawne zastąpienia (C++ Component Extensions)

Pokazuje, jak funkcje składowe można zastąpić dowolny członków.

Zespoły Friend (C++)

W tym artykule omówiono, jak zestawu klienta można uzyskać dostęp do wszystkich typów składnika zestawu.

Boxing (C++ Component Extensions)

Pokazuje warunki w wartości, które typy są ramkach.

Obsługa cech typu w kompilatorze (C++ Component Extensions)

Omówiono sposób wykryć cechy typów w czasie kompilacji.

managed, unmanagedpragmas

Demonstruje sposób zarządzanych i niezarządzanych funkcje mogą współistnieć w tym samym module.

process__declspecModyfikator

__declspecModyfikator, który stanowi, że zmienne globalne i statyczne istnieje na proces.

Odbicie (C + +/ CLI)

Pokazuje wersji środowiska CLR typu run-time informacji.

Ciąg (C++ Component Extensions)

Omówiono konwersji kompilator literałów ciągów do String.

Przekazywanie dalej typu (C++/CLI)

Umożliwia przemieszczanie typu w zestawie wysyłki do innego zestawu, dzięki czemu kod klienta nie ma być ponownie kompilowana.

Atrybuty zdefiniowane przez użytkownika (C++ Component Extensions)

Pokazuje atrybuty zdefiniowane przez użytkownika.

# za pomocą dyrektywy (C++)

Przywóz zestawów zewnętrznych.

Plik dokumentacji XML (Visual C++)

Wyjaśnia dokumentacji kodu XML przy użyciu/doc (proces komentarzy dokumentacji) (C/C++)

Zobacz też

Inne zasoby

.NET Programowanie w języku Visual C++

Macierzysty i.NET interoperacyjności