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 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安裝使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!