Re: [問題] managed C++的問題
在 C# 中把一個 local 變數設成 null 是沒有意義的,
所以你其實不需要這麼做, GC 會自己判斷物件還有沒有被 reference
不過如果是一個 static 變數, 把它設成 null 就可能有作用了,
那表示你以後都不會用到這個物件了所以可以 GC
C++/CLI 用 nullptr,
MyClass ^obj;
if (obj == nullptr) ...
※ 引述《euleramon (風林火山)》之銘言:
: 最近因為需用到一些C++的library,不得已用managed C++改寫程式,
: 開發平台是.net2005,
: 感覺跟以前C#很像,很多framework都還是可以用,但語法差很多,
: 大致上程式還算好改,適應了一些像 ^, ::, %, gcnew,..等一些怪怪的語法..
: 以前C#的 keyword 像是 partial, is 等 不再適用。
: 另外感覺IDE對C#的智慧校正判斷比managed C++來得多。
: ===============以上都是廢話啦!============
: 想問一下版上高手,
: 以前我在C#上如果某些reference object不再需要的話,大部分會把它們設成null,
: 交給gc處理,
: 但在managed C++沒有null這個keyword,而NULL是傳統C++的語法不行指定給它
: ,請問在managed C++下該怎麼將不要的reference object設定成"丟掉"交給gc處理?
: 以前C#用debug模式看它的reference值沒指定的會是null,但在managed C++
: 沒指定看它是值會變成<undefined value>。 XD"
: 降子我以前在C#寫的判斷 if( object == null ) 換到C++該怎麼寫??
: 雖然說我用一種比較tricky的方式改寫也行的通,但總覺得不是正常的寫法。
: (應該有人知道這方法 XD")
: 麻煩幫我解答一下,感謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 67.161.17.127
推
02/07 15:00, , 1F
02/07 15:00, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章