当前位置:  开发笔记 > 编程语言 > 正文

在C++/CLI中,hat字符^有什么作用?

如何解决《在C++/CLI中,hat字符^有什么作用?》经验,为你挑选了2个好方法。

我正在阅读Ivor Horton的Beginning Visual C++ 2008,其许多CLR示例都有main的定义:

int main(array ^args)

我一页又一页地回到书的开头找到第一个这样的实例,并解释了它的真正含义,但找不到一个.

显然它意味着与标准相同int main(int argc, char *argv[]),但我想知道^实际使用的时间和原因,以及为什么它甚至存在(它是否做了指针*和引用&无法表示的东西)?



1> Saulius Vala..:

它是一个托管指针 - 而*标记指向非托管对象的指针,^指向垃圾收集对象(由框架处理).阅读本文,了解有关.NET中指针处理方式的更多信息.



2> Ray Hidayat..:

只是为了补充一点,在C++/CLI中,托管指针与普通指针分开处理,因此您甚至可以使用不同的关键字分配它们:

NativeObject* n = new NativeObject();
ManagedObject^ m = gcnew ManagedObject();

托管和本地对象是两个完全不同的东西,你不能混合它们(好吧,不容易).

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有