共用方式為


__gc

注意事項注意事項

本主題僅適用於第 1 版的 Managed Extensions for C++。這個語法只應該用於維護第 1 版的程式碼。請參閱類別和結構 (管理)如有關在新語法中使用的相等功能。

宣告 __gc 型別。

__gc array-specifier
__gc class-specifier
__gc struct-specifier
__gc interface-specifier
__gc pointer-specifier
__gc new

備註

__Gc 型別是可以簡化 C++ 語言擴充功能。NET 架構的程式設計,藉由提供互通性和記憶體回收這類功能。

注意事項注意事項

必須定義抽象的 __gc 類別每個成員函式,除非該成員函式是純虛擬。

在 [Managed Extensions for C++ 到 C# 類別和 C# 結構的對等用法如下所示:

Managed Extensions for C++

C#

如需詳細資訊

__gc 結構或 __gc 類別

class

類別關鍵字

__value 結構或 __value 類別

struct

結構關鍵字

範例

在下列範例中,managed 類別 (X) 有個則透過 managed 指標操作的公用資料成員宣告:

// keyword__gc.cpp
// compile with: /clr:oldSyntax
#using <mscorlib.dll>
using namespace System;

__gc class X {
public:
   int i;
   int ReturnInt() { return 5; }
};

int main() {
   // X is a __gc class, so px is a __gc pointer
   X* px;
   px = new X;   // creates a managed object of type X
   Console::WriteLine(px->i);

   px->i = 4;   // modifies X::i through px
   Console::WriteLine(px->i);

   int n = px->ReturnInt();   // calls X::ReturnInt through px
   Console::WriteLine(n);
}

Output

0
4
5