成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

  1.1 基本類型

  本章我們將對每個class類型的主要特征進行闡述,不過,在開始之前讓我們先回過頭來了解一下基本類型的基礎知識。Symbian OS采用typedefs的形式定義一系列內建類型,從而保證這些類型獨立于編譯器。在Symbian OS編程中應該使用它們來取代ANSI C++中的原始類型(native type)。

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

   TInt64 Symbian OS在8.0以前不提供對64位算術ARM的支持,因此TInt64是通過兩個32位值來實現的。從Symbian 8.0起,TInt64和TUInt64將開始直接提供對64位的支持。

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

   TTextX (X可以為8,16),窄字符串,分別相當于8位和16位無符號整數。

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

  void TypicalFunction(TAny* aPointerParameter);

  這是Symbian OS typedef替換原始類型的一個例外,因為void在表達“空”的含義時具有較好的編譯器獨立性

   TBool bool類型,因為一些歷史原因TBool和int是等價的,相應的ETrue(=1),EFalse(=0)。記住,C++會把任何非零值視為true。基于這一原因,應避免TBool類型和ETrue直接進行比較。

   每一個TBool需要32位,對于一個bool值而言這是一個十分浪費的內存開銷。因此,可以考慮使用位元組合(bitfields)來代替TBool來存儲類中大量的bool數據。而TBool類型的32位可以用位元組合的形式保存32個bool值。當然這也意味著代碼復雜性的提高,因而也就需要在提高代碼復雜性和使用位元組合之間作一個權衡。

【編輯推薦】

  1. Symbian每6個月發布一款新開源操作系統
  2. 微軟建WindowsMarketplace 完善智能機平臺
  3. 大力模仿Android 傳微軟WM6.5可裝插件
責任編輯:龐桂玉 來源: it168
相關推薦

2009-04-12 09:11:03

Symbian諾基亞移動OS

2009-04-12 09:13:51

Symbian諾基亞移動OS

2009-04-12 09:12:34

Symbian諾基亞移動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數字

2024-04-11 10:20:57

JavaScript前端Web

2019-09-02 09:48:39

Redis數據結構對象

2010-03-05 10:04:38

Python運算符

2009-12-16 16:24:00

Ruby on Rai

2019-12-16 10:13:16

Python字符串數據

2022-02-23 09:03:29

JavaScript開發命名約定

2009-08-19 15:24:30

.NET命名規范

2010-07-12 09:43:38

Symbian開發

2020-11-18 09:44:49

Java命名約定

2009-11-10 15:36:24

VB.NET命名約定

2020-10-20 09:27:48

Python開發數據類型

2021-05-16 19:23:11

引用類型包裝

2010-07-22 09:25:21

Symbian開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品亚洲综合 | 国产欧美视频一区二区 | 在线观看你懂的网站 | 国产欧美一区二区三区在线播放 | 国产精品欧美一区二区三区 | 欧美在线一区二区三区四区 | 成人h视频在线 | 欧美久久一区 | 久久机热 | 天天干视频网 | 一级在线观看 | 久久国产精品精品 | 国产免费一区二区 | 黄网站在线播放 | 国产精品海角社区在线观看 | 国产精品一区二区久久 | 中国大陆高清aⅴ毛片 | 国产日韩欧美电影 | 中文字幕精品一区久久久久 | 亚洲欧美网站 | 91中文视频 | 亚洲视频在线观看免费 | 欧美a在线看 | 欧美在线视频观看 | 一级黄a视频 | 91中文字幕在线 | 视频二区国产 | 超碰日本 | 久久这里有精品 | 亚洲成av人片在线观看 | 日韩视频a | 国产黄色麻豆视频 | 国产午夜在线观看 | 伊人国产精品 | 最新国产在线 | 中文字幕韩在线第一页 | 亚洲欧美国产精品一区二区 | 亚洲一区久久久 | 久久精品免费看 | 国产一区二区视频免费在线观看 | 久久国产成人午夜av影院武则天 |