__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