这篇文章主要为大家展示了“c++/CLI如何在vs上安装使用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C++/CLI如何在vs上安装使用”这篇文章吧。C++/CLI中见过这个符号:^C++中
这篇文章主要为大家展示了“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上安装使用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网其他教程频道!
--结束END--
本文标题: C++/CLI如何在vs上安装使用
本文链接: https://www.lsjlt.com/news/296867.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0