您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“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上安裝使用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。