自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Symbian OS 中的Class命名約定(基本類型)

系統(tǒng)
Symbian OS定義了若干不同的class類型,每一種類型都具有不同的特性。Class的分類用于描述每種class對(duì)象的主要屬性和行為,例如對(duì)象分配的位置(heap或stack),特別是它們的清除方式。每個(gè)class類型都有一系列規(guī)則,明確了如何創(chuàng)建和銷毀該類的實(shí)例。
Symbian OS定義了若干不同的class類型,每一種類型都具有不同的特性。Class的分類用于描述每種class對(duì)象的主要屬性和行為,例如對(duì)象分配的位置(heap或stack),特別是它們的清除方式。每個(gè)class類型都有一系列規(guī)則,明確了如何創(chuàng)建和銷毀該類的實(shí)例。

  為了便于class類型的識(shí)別,Symbian OS使用了一個(gè)簡(jiǎn)單的命名約定,即在class名稱前加入前綴字母(通常為T(mén)、C、R或M)。雖然命名約定并不總是受到青睞,但是Symbian OS中這個(gè)命名約定非常容易理解,而且作用也很明顯,它可以更便于你對(duì)class的行為,特別是對(duì)清除方式進(jìn)行識(shí)別。對(duì)于一個(gè)class設(shè)計(jì)者而言,class 分類簡(jiǎn)化了問(wèn)題復(fù)雜性??梢栽赟ymbian OS中依據(jù)class的功能需求選擇一個(gè)與之相對(duì)應(yīng)的內(nèi)置基本類型。選擇合適的類型之后,就可以集中精力處理class的職能。同時(shí),在使用一個(gè)并不熟知的class時(shí),命名約定可以指點(diǎn)你如何進(jìn)行一個(gè)對(duì)象的實(shí)例化,以及在確保發(fā)生意外情況時(shí)的安全的前提下使用,銷毀對(duì)象的方式。

  1.1 基本類型

  本章我們將對(duì)每個(gè)class類型的主要特征進(jìn)行闡述,不過(guò),在開(kāi)始之前讓我們先回過(guò)頭來(lái)了解一下基本類型的基礎(chǔ)知識(shí)。Symbian OS采用typedefs的形式定義一系列內(nèi)建類型,從而保證這些類型獨(dú)立于編譯器。在Symbian OS編程中應(yīng)該使用它們來(lái)取代ANSI C++中的原始類型(native type)。

   TIntX和TUintX(X可以為8,16,32)分別表示8位、 16位和32位有符號(hào)或無(wú)符號(hào)整數(shù)。如果沒(méi)有特殊原因,比如應(yīng)用程序的尺寸優(yōu)化或兼容性方面的問(wèn)題,否則在一般情況下應(yīng)該使用可以在所有32位整型中通用的非特定(non-specific)的TInt或TUint類型。

   TInt64 Symbian OS在8.0以前不提供對(duì)64位算術(shù)ARM的支持,因此TInt64是通過(guò)兩個(gè)32位值來(lái)實(shí)現(xiàn)的。從Symbian 8.0起,TInt64和TUInt64將開(kāi)始直接提供對(duì)64位的支持。

  TReal32 和TReal64(TReal等價(jià)于TReal64)為單精度和雙精度浮點(diǎn)數(shù)提供支持,分別等價(jià)于float和double [1] 。Symbian OS中的浮點(diǎn)數(shù)計(jì)算要大大慢于整數(shù),所以在不必要的情況下應(yīng)盡量避免使用浮點(diǎn)數(shù)。

   TTextX (X可以為8,16),窄字符串,分別相當(dāng)于8位和16位無(wú)符號(hào)整數(shù)。

  通過(guò) typedef’d ”類型的定義,TAny*被有效替換成指向任意類型的指針,所以TAny*可以用在Void*的場(chǎng)合。TAny因而等價(jià)于void,但在Symbian OS中void仍然意為“空”,所以不要想當(dāng)然的用TAny來(lái)替換原始類型void。因此,在Symbian OS中一個(gè)獲取void*指針(指向任意對(duì)象)且返回類型為void(空)的函數(shù)的典型格式如下:

  void TypicalFunction(TAny* aPointerParameter);

  這是Symbian OS typedef替換原始類型的一個(gè)例外,因?yàn)関oid在表達(dá)“空”的含義時(shí)具有較好的編譯器獨(dú)立性

   TBool bool類型,因?yàn)橐恍v史原因TBool和int是等價(jià)的,相應(yīng)的ETrue(=1),EFalse(=0)。記住,C++會(huì)把任何非零值視為true。基于這一原因,應(yīng)避免TBool類型和ETrue直接進(jìn)行比較。

   每一個(gè)TBool需要32位,對(duì)于一個(gè)bool值而言這是一個(gè)十分浪費(fèi)的內(nèi)存開(kāi)銷。因此,可以考慮使用位元組合(bitfields)來(lái)代替TBool來(lái)存儲(chǔ)類中大量的bool數(shù)據(jù)。而TBool類型的32位可以用位元組合的形式保存32個(gè)bool值。當(dāng)然這也意味著代碼復(fù)雜性的提高,因而也就需要在提高代碼復(fù)雜性和使用位元組合之間作一個(gè)權(quán)衡。

【編輯推薦】

  1. Symbian每6個(gè)月發(fā)布一款新開(kāi)源操作系統(tǒng)
  2. 微軟建WindowsMarketplace 完善智能機(jī)平臺(tái)
  3. 大力模仿Android 傳微軟WM6.5可裝插件
責(zé)任編輯:龐桂玉 來(lái)源: it168
相關(guān)推薦

2009-04-12 09:13:51

Symbian諾基亞移動(dòng)OS

2009-04-12 09:11:03

Symbian諾基亞移動(dòng)OS

2009-04-12 09:12:34

Symbian諾基亞移動(dòng)OS

2010-03-05 11:53:20

Python命名約定

2009-07-21 09:31:00

Scala基本類型文本

2023-08-07 08:52:53

Vue組件Props 命名

2010-04-23 15:07:07

Oracle數(shù)字

2024-04-11 10:20:57

JavaScript前端Web

2010-03-05 10:04:38

Python運(yùn)算符

2019-09-02 09:48:39

Redis數(shù)據(jù)結(jié)構(gòu)對(duì)象

2019-12-16 10:13:16

Python字符串數(shù)據(jù)

2009-12-16 16:24:00

Ruby on Rai

2009-08-19 15:24:30

.NET命名規(guī)范

2022-02-23 09:03:29

JavaScript開(kāi)發(fā)命名約定

2020-10-20 09:27:48

Python開(kāi)發(fā)數(shù)據(jù)類型

2020-11-18 09:44:49

Java命名約定

2009-11-10 15:36:24

VB.NET命名約定

2021-05-16 19:23:11

引用類型包裝

2010-07-12 09:43:38

Symbian開(kāi)發(fā)

2010-08-05 14:11:34

連接DB2
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)