Bit*_*map 5 c++-cli visual-c++
据我所知,C++字符串声明遵循以下形式:
std::string param;
Run Code Online (Sandbox Code Playgroud)
我正在浏览代码,并意识到字符串的声明是这样完成的:
System::String^ param;
Run Code Online (Sandbox Code Playgroud)
任何人都可以分享这个宣言吗?!这是Microsoft Visual C++字符串声明还是一个特殊的库,它提供了另一种使用C++字符串的替代方法.
它是Microsoft特有的,是他们称之为C++/CLI的语言的一部分.此语法声明了一个公共语言运行时(CLR)String变量(与string在C#中声明一个时获得的变量相同).这些不能与几种C/C++字符串类型直接互换,但Microsoft提供编组工具将CLR String对象转换为非托管字符串,反之亦然.
C++/CLI使开发人员能够创建使用CLR类/函数(也称为"托管代码")来桥接常规C++类/函数(也称为"非托管代码")的程序.Microsoft还将CLR的低级功能暴露给C++/CLI,其中一些也暴露给C#(如指针),而另一些则不暴露(就像成员访问级别更精细).
如果要在C#等语言中使用现有的C或C++库(通过在C++/CLI中进行绑定,然后将它们暴露给CLR而不通过P/Invokes),或者如果要将现有的非托管端口移植,那么它非常有用C/C++库或托管环境的应用程序.
| 归档时间: |
|
| 查看次数: |
4372 次 |
| 最近记录: |