C++/CLI在vs上的安裝和初步使用教程
C++/CLI中見過這個符號:^
C++中我們用*來表示一個指針,在C++/CLI中,我們用符號^來表示句柄。
現(xiàn)在*用來指定CRT heap上的原生指針,而句柄是安全指針,它位于托管堆上。
你可以把句柄當(dāng)成引用來考慮,和原生指針不同的是,他們不會引起內(nèi)存泄漏,即便沒有對它們進(jìn)行適當(dāng)?shù)膭h除,因為GC會處理這些問題,并且他們沒有一個固定的內(nèi)存地址,所以在執(zhí)行的時候它們會被移來移去。
%對于^就相當(dāng)于&對于*
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
gcnewkeyword instead ofnewwhen creating a.NET object,and thatgcnew returnsa 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;
}




到此這篇關(guān)于C++/CLI在vs上的安裝和初步使用的文章就介紹到這了,更多相關(guān)C++ CLI安裝使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++學(xué)習(xí)之cstdbool和cstddef頭文件封裝源碼分析
這篇文章主要為大家介紹了C++學(xué)習(xí)之cstdbool和cstddef頭文件封裝源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09

