?最近在找工作,把遇到的面試題累計一下
1. objective-c與C++的區別
1、Objective C基本上是在C + Smalltalk基礎上衍生出來的,C++就是C++。除了都是從C語言分化出來的以外,完全沒有任何共性。
2、最大的區別就是Objective C的成員函數調用是基于動態綁定的,類本身并沒有限制對象可以有什么函數。相對于C++類會規定好成員有什么函數。這使得Objective C的靈活性很大,但是執行效率也很低。
3、在NeXT系統的時代C++和Objective C都不是那么大眾的東西,C++也還沒完善,而且那個時代編譯器的有優化能力也沒現在那么變態。所以選擇Objective C也不是很奇怪的事。但是現在Objective C的劣勢就越來越明顯了,所以蘋果開發了Swift,而且就內部消息蘋果很可能會準備放棄OC。