在C++中,类型后面的^是什么意思?

8
我有一些C++代码,其中函数返回类型声明为string^IEnumerable<String^>^,这是什么意思?
编辑:从C#更正为C++/CLI。

这不是C#或C++,而是C++/CLI。 - GManNickG
3个回答

11

在C#中,这个符号没有任何意义。您正在查看C++/CLI的源代码,而不是C#。

有关简要介绍,请参见http://en.wikipedia.org/wiki/C%2B%2B/CLI

插入符号基本上意味着“这是一个受GC跟踪的引用”。


啊,我的错,我看的那些cs文件中混杂了一些cpp文件 :) - Charles Ma
4
@Charles Ma:注意:C++/CLI并不是纯粹的C++。 - Martin York
你是不是指的是答案中的"C#"而不是"C++"? - Lightness Races in Orbit
@Tomalak:它(问题和标签)已经被更改了。 - GManNickG
1
谢谢Martin,是的,我刚刚了解了C++/CLI,我是新手Windows开发 :) - Charles Ma

1

它似乎是托管的C++,而不是C#。 ^表示托管引用类型。


1
Managed C++C++/CLI的已废弃的前身。 - Brian

0

没有。在C++中它是无效的。它是C++/CLI中的“托管引用”类型修饰符,是一种不同的语言。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接