190 likes | 395 Views
Symbian OS C++ 基础. 主要内容. Symbian OS C++ 语言概述 基本数据类型 编码规范 描述符 动态数组. Symbian OS C++ 语言概述. Symbian OS C++ 被称为是“特定领域的 C++ 语言”,并附有用于构建 Symbian OS 及运行于其上的软件框架 Symbian OS C++ 的语言基础是 C++ 语言. 基本数据类型. 整型 typedef signed char TInt8; typedef unsigned char TUint8; typedef short int TInt16;
E N D
主要内容 • Symbian OS C++语言概述 • 基本数据类型 • 编码规范 • 描述符 • 动态数组
Symbian OS C++语言概述 • Symbian OS C++被称为是“特定领域的C++语言”,并附有用于构建Symbian OS及运行于其上的软件框架 • Symbian OS C++的语言基础是C++语言
基本数据类型 • 整型 typedef signed char TInt8; typedef unsigned char TUint8; typedef short int TInt16; typedef unsigned short int TUint16; typedef long int TInt32; typedef unsigned long int TUint32; typedef signed int TInt; typedef unsigned int TUint;
基本数据类型 • 浮点型 typedef float TReal32; typedef double TReal64; typedef double TReal;
基本数据类型 • 布尔型 typedef int TBool; #define TRUE 1 #define FALSE 0 enum TFalse { EFalse=FALSE }; enum TTrue { ETrue=TRUE };
基本数据类型 • 字符串型 typedef unsigned char TText8; typedef unsigned short int TText16;
基本数据类型 • 枚举型 enum TAknExListMenuCommands { EAknExListCmdEmptyOutline= 0x6000, EAknExListCmdSelectionItem, EAknExListCmdOutline01, EAknExListCmdOutline02 }
基本数据类型 • 四种基本的类 • T类 • C类 • R类 • M类
编码规范 • 四种基本的类 • 函数命名 • 变量命名
描述符 • (1) TBuf 可修改的缓冲区描述符。 • (2) TBufC 不可修改的缓冲区描述符。 • (3) TPtr 可修改指针描述符。 • (4) TPtrC 不可修改指针描述符。 • (5) RbufC 可修改的堆缓冲区描述符 • (6) HBufC 不可修改的堆缓冲区描述符。
描述符 • TBufC • 不可修改的缓冲区描述符 • 示例 _LIT(KText1, "Hello World 1!\n"); TBufC<30> bufText1; bufText1=KText1; console->Write(bufText1); _LIT(KText2, "Hello World 2!\n"); TBufC<30> bufText2(KText2); console->Write(bufText2);
描述符 • TBuf • 可修改的缓冲区描述符 • 示例 //以下是可修改描述符的几个常见操作 _LIT(KText, "Hello World!\n"); TBuf<100> buf; buf.Copy(KText); //拷贝KText常量字符串到buf中 console->Write(buf); TBufC<30> bufText(KText); buf.Copy(bufText); //拷贝不可修改缓冲描述符中的字符串到buf中 console->Write(buf); buf.Zero(); buf.AppendFormat(_L("this is a TBuf example, %S"),&KText); //格式化添加字符串 buf.AppendFormat(_L("+++ %S"),&bufText); console->Write(buf);
描述符 • TPtrC • 不可修改的指针描述符 • 示例 _LIT(KText, "Hello World!\n"); TBuf<100> buf; buf.Copy(KText); TPtrC ptrc1=buf.Left(8); TPtrC ptrc2(ptrc1); TPtrC ptrc3; ptrc3.Set(buf);
描述符 • TPtr • 可修改的指针描述符 • 示例 _LIT(KText1, "Hello World 1!\n"); TBufC<30> bufText1; bufText1=KText1; _LIT(KText2, "Hello World 2!\n"); TBufC<30> bufText2(KText2); TPtr ptr=bufText1.Des(); ptr.Set(bufText2.Des()); ptr.AppendFormat(_L(" %d"),20);
描述符 • 堆缓冲描述符 HBufC • 示例 HBufC* pBuf=HBufC::New(30); TPtr ptrBuf=pBuf->Des(); ptrBuf.Append(_L(“hello ”)); ptrBuf.Append(_L(“world.”));
常用的动态数组 • RArray • RPointerArray