2010-05-13 88 views
3

據說Symbian C++有自己的方言,Symbian C++和規範C++之間的語法區別是什麼?

有人可以列出不同的確切方面嗎?

+0

從技術上講,每個編譯器都是它自己的C++方言。 g ++不同於vC++等等。它們每個都有不屬於標準的特徵,每個特徵都可能或不可能以不同的方式實現完整的標準。 – xenoterracide 2010-05-13 15:39:37

+0

@xenoterracide:是的,但它確實曾經是Symbian/C++根本不像標準C++。好的,所謂的「標準C++」實現通常缺少一些零碎的東西,比如'export',或者模板中的正確名稱解析。但是有一次Symbian/C++沒有例外。或者鍵入模板參數(僅限整數)。或者任何標準頭文件。基於C++的預標準版本,它是它自己的事情。與嘗試實現C++的嘗試沒什麼可比性。 – 2010-05-13 16:11:28

回答

1

Symbian C++與'norma不是不同的語言l'C++,但它有很多Symbian特定的約定。

1

今天,術語Symbian C++也用於將經典的Symbian C++/S60開發與更現代化的Qt開發堆棧分開。

6

對此的一個很好的資源是Fundamentals of Symbian C++書,可通過Symbian基金會網站獲得。

的主要途徑,其中的C++在Symbian方言從標準C++的不同是:

  • 例外不直接使用,即不應該使用在Symbian的C「擲」 ++。相反,Symbian有其自己的例外形式,稱爲leaves。這可以追溯到這樣的事實:在創建Symbian時,編譯器並未廣泛支持異常。
  • 異常不能從C++構造函數中拋出,所以不能使用標準的RAII技術。相反,Symbian使用兩階段構造方法,並使用一種稱爲清理棧的機制。更多詳細信息可在Symbian基金會網站here上找到。

就標準庫而言,現在有一個STL的端口可用於Symbian,所以所有的標準容器和算法都可用。然而,這是一個最近的發展,所以操作系統有它自己的字符串,陣列,哈希等實用類。

隨着Teknolog提到,最近的一個重要發展是Qt到Symbian OS的移植。從Symbian^4開始,整個UI將使用Qt重寫,這意味着Qt將成爲本地應用程序開發工具包。這意味着,雖然Symbian C++仍將用於操作系統中的中間件和較低級別的開發,但應用程序開發人員將使用Qt,因此不需要了解C++的Symbian方言。我在我的回答中描述了這個問題Qt or Symbian C++

相關問題