这篇文章主要为大家展示了“C++/CLI如何在vs上安装使用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C++/CLI如何在vs上安装使用”这篇文章吧。
C++/CLI中见过这个符号:^
C++中我们用*
来表示一个指针,在C++/CLI中,我们用符号^
来表示句柄。
现在*
用来指定CRT heap上的原生指针,而句柄是安全指针
,它位于托管堆上。
你可以把句柄当成引用
来考虑,和原生指针不同的是,他们不会引起内存泄漏
,即便没有对它们进行适当的删除,因为GC会处理这些问题,并且他们没有一个固定的内存地址,所以在执行的时候它们会被移来移去。
%
对于^
就相当于&
对于*
N* pn = new N;//分配在原生heap上
n& rn = *pn;//绑定一个普通引用到原生对象
R^ hr = gcnew R;//分配在CLI heap上
r% rr = *hr;//绑定跟踪的引用到gc-lvalue
String^ fileName = "textfile.txt";
StreamWriter^ sw = gcnew StreamWriter(fileName);
If you use the sample program, notice thatyou use the
gcnew
keyword instead ofnew
when creating a.NET object
,and thatgcnew returns
a handle( ^ )
rather than a pointer( * )
:
using namespace System;
using namespace System::IO;
int main()
{
String^ fileName = "textfile.txt";
StreamWriter^ sw = gcnew StreamWriter(fileName);
sw->WriteLine("Hi Major");
sw->Close();
Console::WriteLine("a new file ('{0}') has been written", fileName);
return 0;
}
以上是“C++/CLI如何在vs上安装使用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。