在 Visual C++ 中使用 ^ 运算符

Posted

技术标签:

【中文标题】在 Visual C++ 中使用 ^ 运算符【英文标题】:Use of ^ operator in visual c++ 【发布时间】:2012-05-21 15:01:13 【问题描述】:

我正在做 Visual c++ 编程,我创建了一个 CLR 控制台应用程序。我注意到字符串数组应该声明为字符串 ^,而不是字符串 []。 ^ 有什么用?为什么用它代替 []?这种替代是否仅限于 CLR 应用程序? 这是一行代码和错误:

array<String[]>[] abc;

产生的错误是

错误 C2143:语法错误:缺少 ';'在'['之前

错误 C2146:语法错误:缺少 ';'在标识符“abc”之前

错误 C2065: 'abc' : 未声明的标识符

【问题讨论】:

【参考方案1】:

抑扬符表示该对象是一个托管指针,它会被垃圾收集器自动收集 - 您不需要隐式执行此操作。 请查看this article 以了解数组在 C++/CLI 中的工作原理。

在你的情况下:

array<String^> ^abc;

这种替换是否仅限于 CLR 应用程序?

是的。

【讨论】:

以上是关于在 Visual C++ 中使用 ^ 运算符的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 Visual Studio C++ 问题,“算术溢出:在 4 字节值上使用运算符 '*',然后将结果转换为 8 字节值。”?

如何在 Visual C++ 2015 中的 C++ 强制转换运算符的尖括号内保留空格?

MSVC10 Visual Studio 2010 是不是支持 C++ 显式转换运算符

Visual C++ 2010 / QT:为啥调用类的赋值运算符?

Visual studio 2010 C++用Release运行是单线程吗?怎样提高运算速度?

Visual Studio C++ 从字符串中删除最后一个字符