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. |
|
value class value struct |
Nr |
Deklaruje klasy wartość. |
|
interface class interface struct |
Nr |
Deklaruje interfejsu. |
|
enum class enum struct |
Nr |
Deklaruje wyliczenia. |
|
property |
Tak |
Deklaruje właściwość. |
|
delegate |
Tak |
Deklaruje pełnomocnika. |
|
event |
Tak |
Deklaruje zdarzenia. |
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. |
|
new |
Nr |
Wskazuje, że funkcja nie jest przesłonięcie wersji klasy podstawowej. |
|
override |
Tak |
Wskazuje, że metoda musi być przesłonięcie wersji klasa bazowa. |
|
sealed |
Tak |
Zapobiega jako klas podstawowych klas. |
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. |
|
for each, in |
Nr |
Wylicza elementy w kolekcji. |
|
gcnew |
Nr |
Przydziela typów na stercie zebrane garbage.Use instead of new and delete. |
|
ref new |
Tak |
Przydziela Środowisko wykonawcze systemu Windows typu.Use instead of new and delete. |
|
initonly |
Tak |
Wskazuje, że członek mogą być inicjowane tylko w konstruktorze statycznym lub deklaracji. |
|
literal |
Tak |
Tworzy zmienną literal. |
|
nullptr |
Nr |
Wskazuje, że uchwyt lub wskaźnik nie wskazuje na obiekt. |
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. |
|
interior_ptr |
(Tylko CLR) Punkty danych w polu Typ odwołania. |
|
pin_ptr |
(Tylko CLR) Wskazuje typy odwołań CLR tymczasowo wyłączyć system wyrzucania elementów bezużytecznych. |
|
safe_cast |
Określa i wykonuje metodę optymalne rzutowanie typu runtime. |
|
typeid |
(Tylko CLR) Pobiera System.Type obiekt, który zawiera opis danego typu lub obiektu. |
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. |
|
% |
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. |
Dodatkowe konstrukcje i Tematy pokrewne
W tej sekcji przedstawiono dodatkowych narzędzi programistycznych i tematy, które odnoszą się do środowiska CLR.
Temat |
Opis |
---|---|
(Środowisko wykonawcze systemu Windows and CLR) Umożliwia użycie słów jako identyfikatorów. |
|
(Ś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. |
Zawiera opis interpretowania styl c poświaty. |
|
__clrcallKonwencja wywołania |
Wskazuje standardem CLR konwencję wywołania. |
__cplusplus_cli |
|
Opisuje sposób zdefiniowania własne atrybuty CLR. |
|
Omówienie obsługi wyjątków. |
|
Pokazuje, jak funkcje składowe można zastąpić dowolny członków. |
|
W tym artykule omówiono, jak zestawu klienta można uzyskać dostęp do wszystkich typów składnika zestawu. |
|
Pokazuje warunki w wartości, które typy są ramkach. |
|
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. |
Pokazuje wersji środowiska CLR typu run-time informacji. |
|
Omówiono konwersji kompilator literałów ciągów do String. |
|
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. |
Przywóz zestawów zewnętrznych. |
|
Wyjaśnia dokumentacji kodu XML przy użyciu/doc (proces komentarzy dokumentacji) (C/C++) |