Re: [問題] 無痛GUI = =?

看板C_and_CPP (C/C++)作者 (躂躂..)時間18年前 (2006/10/10 14:34), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
推 embedded:想問一個問題,為什麼MS老是喜歡創C#或是一些怪怪的C語法? → embedded:反倒是GNU或是其他免費的都還適用正規的C/C++,但也是可達 → embedded:相同的效果 → embedded:我是想知道搞成managed有什麼好處? 就我看到的結果似乎 → embedded:只有效能小降低+吃RAM 要managed就因為要做Garbage collection.. 寫C/C++時..一時沒注意new出來的東西沒free掉..就會memeory leak.. 他的目的就跟Java一樣..不需要explicit的delete語法..而是由GC來回收 那為什麼 Managed C++ 會多出那些奇怪的東西.. 原因之一是 Managed C++ 是故意設計成同時支援 managed/unmanaged .. 例如在 Managed C++ 你想使用 Point 這個class可以有三種方式產生他 Point P1 = Point(); Point *P2 = new Point(); Point ^P3 = gcnew Point(); 因為 Point 是value-type的..所以你可以直接用第一種方式產生區域變數 第二種是用 unmanaged 的方式new出來..所以要記得 delete 掉.. 第三種是用 managed 的方式..用gcnew出來..後面沒refernece到的話.. 自然會被回收到.. 為了同時支援managed/unmanged code..所以Managed C++才會變這麼醜.. 所以其實不建議用C++配.NET在寫.. 像C#或其他的.NET支援的語法.. 都只會有一種寫法.. Point P = new Point(); 個人不覺得一家公司 ``自創'' 一個語言是什麼負面的事(我指C#).. Sun也發明了Java不是嗎?? Managed Extensions for C++ http://en.wikipedia.org/wiki/C++_Managed_Extensions 這篇有提到到一些優缺比較.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.131.212 ※ 編輯: cole945 來自: 220.139.131.212 (10/10 14:50)

10/10 16:05, , 1F
推薦這篇文章
10/10 16:05, 1F

10/11 12:29, , 2F
挑個小錯, 應該是 C++/CLI
10/11 12:29, 2F

10/11 12:31, , 3F
Managed C++ 是 .NET 1.1
10/11 12:31, 3F

10/11 13:04, , 4F
感謝樓上說明@_@"因為我沒在寫..所以不清楚正確的名稱orz
10/11 13:04, 4F
文章代碼(AID): #15ApxcW5 (C_and_CPP)
文章代碼(AID): #15ApxcW5 (C_and_CPP)