Visual c++ 字符串^C+中的声明+; 据我所知,C++字符串声明遵循以下形式: std::string param;

Visual c++ 字符串^C+中的声明+; 据我所知,C++字符串声明遵循以下形式: std::string param;,visual-c++,c++-cli,Visual C++,C++ Cli,我正在浏览一段代码,意识到字符串的声明是这样完成的: System::String^ param; 有人能分享这份宣言吗?!这是微软VisualC++字符串声明或特殊库,它提供了另一种使用C++字符串的替代方案。 < P>这是对托管堆上的对象的语法。< /P> < P>这是微软特有的,是他们称为C++/CLI的语言的一部分。此语法声明公共语言运行库(CLR)String变量(与在C#中声明String时得到的类型相同)。它们不能直接和几种C/C++字符串类型互换,但Microsoft提供了编组

我正在浏览一段代码,意识到字符串的声明是这样完成的:

System::String^ param;

有人能分享这份宣言吗?!这是微软VisualC++字符串声明或特殊库,它提供了另一种使用C++字符串的替代方案。

< P>这是对托管堆上的对象的语法。< /P> < P>这是微软特有的,是他们称为C++/CLI的语言的一部分。此语法声明公共语言运行库(CLR)
String
变量(与在C#中声明
String
时得到的类型相同)。它们不能直接和几种C/C++字符串类型互换,但Microsoft提供了编组功能,可以将CLR
string
对象转换为非托管字符串,反之亦然

C++ +CLI使开发人员能够创建程序,这些程序可以用CLR类/函数(否则称为“托管代码”)来桥接常规C++类/函数(否则称为“非托管代码”)。Microsoft还将CLR的较低级别功能公开给C++/CLI,有些功能也公开给C#(如指针),有些则不公开(如在成员访问级别上更精细的粒度)


<> P> >如果你想在C语言中使用现有的C或C++库(通过在C++中加入绑定,然后在不经过P/CULK的情况下将它们暴露到CLR),或者如果你想将现有的非托管C/C++库或应用程序移植到托管环境。但是解释很好,嗯,是的。我这方面的愚蠢错误,我会改正的。