在 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:为啥调用类的赋值运算符?