这种奇怪的语法是什么意思

发布于 2024-10-18 01:52:43 字数 148 浏览 2 评论 0原文

今天我看到了以下语法。谁能告诉我这句话的意思:

System::ComponentModel::Container ^components; 

在我使用向导创建服务后,我在 Visual C++ 中得到了这段代码。

Today I saw the following syntax. Can anybody tell me the meaning of this:

System::ComponentModel::Container ^components; 

I got this code in Visual C++, after I used a wizard to create a service.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

燕归巢 2024-10-25 01:52:43

^ 运算符(不要与二进制 XOR 运算符混淆)特定于 C++/CLI。

它用于声明 .NET 托管对象的句柄。

句柄是对对象的引用,与传统的 C++ 指针不同,它允许垃圾收集针对引用的对象正确运行,从而无需手动删除对象。

此语法取代托管 C++ 扩展的 __gc 指针。

更多详细信息可以在这里找到:http://en.wikipedia.org/wiki/ C%2B%2B/CLI

The ^ operator (not to be confused with the binary XOR operator) is specific to C++/CLI.

It is used to declare a handle to a .NET managed object.

A handle is a reference to the object which differs from traditional C++ pointers in the fact that it allows Garbage Collection to function correctly for the referenced object, making manual object deletion unnecessary.

This syntax supersedes the managed C++ extensions' __gc pointers.

More details can be found here: http://en.wikipedia.org/wiki/C%2B%2B/CLI

你如我软肋 2024-10-25 01:52:43

它是 C++/CLI 句柄。 C++/CLI 是 Microsoft 对 C++ 的托管扩展,用于提供与 .NET CLR 的兼容性。

在此处阅读有关 C++/CLI 的更多信息

It is C++/CLI handle. C++/CLI is Microsoft's managed extension to C++ to provide compatibility with .NET CLR.

Read here a little bit more about C++/CLI.

死开点丶别碍眼 2024-10-25 01:52:43

这是托管 C++,而不是 C++。

该行定义了一个变量组件,它是一个指向 System::ComponentModel::Container 的托管指针

This is managed C++, which is not C++.

The line defines a variable components which is a managed pointer to System::ComponentModel::Container

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文