gpt4 book ai didi

C++/CLI在vs上的安装和初步使用教程

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C++/CLI在vs上的安装和初步使用教程由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

c++/cli中见过这个符号:^ 。

c++中我们用*来表示一个指针,在c++/cli中,我们用符号^来表示句柄.

现在*用来指定crt heap上的原生指针,而句柄是安全指针,它位于托管堆上.

你可以把句柄当成引用来考虑,和原生指针不同的是,他们不会引起内存泄漏,即便没有对它们进行适当的删除,因为gc会处理这些问题,并且他们没有一个固定的内存地址,所以在执行的时候它们会被移来移去.

%对于^就相当于&对于* 。

?
1
2
3
4
5
6
7
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在vs上的安装和初步使用教程
C++/CLI在vs上的安装和初步使用教程

C++/CLI在vs上的安装和初步使用教程
C++/CLI在vs上的安装和初步使用教程

二 新建c++/cli项目

C++/CLI在vs上的安装和初步使用教程

三 添加源文件

C++/CLI在vs上的安装和初步使用教程

C++/CLI在vs上的安装和初步使用教程

?
1
2
string^ filename = "textfile.txt" ;
streamwriter^ sw = gcnew streamwriter(filename);

if you use the sample program, notice thatyou use the gcnew keyword instead of new when creating a .net object,and that gcnew returns a handle( ^ ) rather than a pointer ( * )


?
1
2
3
4
5
6
7
8
9
10
11
12
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在vs上的安装和初步使用教程

C++/CLI在vs上的安装和初步使用教程
C++/CLI在vs上的安装和初步使用教程

到此这篇关于c++/cli在vs上的安装和初步使用的文章就介绍到这了,更多相关c++ cli安装使用内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://blog.csdn.net/qq_41375318/article/details/118387439 。

最后此篇关于C++/CLI在vs上的安装和初步使用教程的文章就讲到这里了,如果你想了解更多关于C++/CLI在vs上的安装和初步使用教程的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com