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

一 在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 of new when creating a .NET object,and that gcnew 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安裝使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: