C++ vs Objective-C

來源:互聯網
上載者:User

  前段時間不小心去應聘過iPhone開發的職位,被問起Objc和C++的異同,總是直言對C++的偏愛。用兩種語言各自寫過一點代碼,我想我還是可以寫點文字,做個淺薄的對比的。

  首先是記憶體管理的問題:

  C++的版本到了C++11也不支援語言層面上的GC,恰好Objc也一直不肯在iOS裝置上支援GC。

  C++沒有GC是和諧的,因為C++對象就是被設計用來靜態分配記憶體的。

  C++的建構函式不可繼承,在編譯期就和對象綁定,而在運行期不具有多態性。因此在編譯期就可確切知道對象的大小,從而在棧區指派至。

  而Objc通過訊息機制,總是在運行期綁定對象與方法,多態性實在是好,通過[self class],類的靜態方法,比如allloc,竟然也是運行期多態的,所以似乎只能在堆區指派至。

  唉本來寫此文想寫得好看一點,賺點點擊,然後PS個找工作資訊的。結果寫到一半來了電話,終於有適合自己的工作了,懶得寫下去了,就這些了,不好意思。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.