Re: [問題] 請教陣列與指標的基礎觀念

看板MacDev作者 (←這人是超級笨蛋)時間10年前 (2014/09/14 12:50), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《balaking (看八卦長知識)》之銘言: : 小弟是Obj-C的非常非常新手,之前一直寫的是C#與Java這種OOP語言 : C以前在學校有學過,不過現在幾乎都還給老師了 : 目前「精通Objective-C程式設計(第六版)」看到第三章p.40 : 裡面有一段程式這樣寫: : 1 Fraction *myFraction; : 2 myFraction = [Fraction alloc]; : 3 myFraction = [myFraction init] : 4 : 5 [myFraction setNumerator: 1]; 在 C# 和 Java 裡, 所有東西(除了 primitive types)都是參考 而在 Objective-C 中, 所有東西(除了 C types)都是指標 他們在這部分其實理念一模一樣 所以上面這段可以直接轉譯為這樣的 Java 程式 Fraction myFraction; myFraction = new Fraction(); # Java 的 alloc 與 init 是用 new 一次完成 myFraction.setNumber(1); 在 Objective-C 裡沒有「參考」的概念 但它用指標模仿的行為其實和 Java 與 C# 的參考一模一樣 其實你用 C# 的想法學 Objective-C 在很多時候可以互通 C# 中所有 Object 的子類別都是 reference type 這對應到 Objective-C 所有 NSObject 子類別都是以 pointer 形式存在 而 Objective-C 的 C struct 就對應到 C# struct, 它們都是 value type 在 Objective-C 偶爾會看到的 C 就相當於 C# unsafe mode 後者也可以用類似 C pointer 的寫法 說真的你對 C# 與 Java 了解夠多的話實在不應該在這裡卡住 反而應該在比較偏 C 的部分遇到問題才對 這裡根本就一點也不 C, 請不要用 C 的邏輯來想 Objective-C 在用方括弧呼叫的地方根本完全是物件導向 感覺你的理解有點怪怪的 :/ -- 作者 Linux (Windows) 看板 C_and_CPP 標題 [問題] 如何確認是否 free 對記憶體 時間 Fri Nov 2 00:14:03 2012

11/02 00:43,
valgrind, 但 windowns 版的沒試過XD
11/02 00:43

11/02 00:44,
linux 上那真的是不二選擇了
11/02 00:44

11/02 00:45,
我是用 Windows ....>"<
11/02 00:45
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.94.175 ※ 文章網址: http://www.ptt.cc/bbs/MacDev/M.1410670205.A.0A7.html
文章代碼(AID): #1K5Hvz2d (MacDev)
文章代碼(AID): #1K5Hvz2d (MacDev)