概述
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
一 在VS2017/2019 安装 C++/CLI的模块支持
二 新建C++/CLI项目
三 添加源文件
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上的安装和初步使用的文章就介绍到这了,更多相关C++ CLI安装使用内容请搜索靠谱客以前的文章或继续浏览下面的相关文章希望大家以后多多支持靠谱客!
最后
以上就是热心河马为你收集整理的C++/CLI在vs上的安装和初步使用教程的全部内容,希望文章能够帮你解决C++/CLI在vs上的安装和初步使用教程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复