WEB开发网
开发学院手机开发Symbian 开发 Symbian开发入门 阅读

Symbian开发入门

 2010-06-03 23:07:00 来源:WEB开发网   
核心提示:TInt length; // Length of memory to be represented...TPtrC8 memPtr(memoryLocation,length); // 从一个指针构造,这个指针本身可以改变成指向其他的字符串数据(通过Set()方法),Symbian开发入门(9),如果您想指明,不能改

TInt length; // Length of memory to be represented

...

TPtrC8 memPtr(memoryLocation,length); // 从一个指针构造。

这个指针本身可以改变成指向其他的字符串数据(通过Set()方法)。如果您想指明,不能改变您的TPtrC所指向的数据,那么您可以将TPtrC声明为const,这样,当您试图用Set()方法更改TPtrC所指向的数据时,编译器会产生警告。

// 字面量描述符

_LIT(KLiteralDes1, "Sixty zippers were quickly picked from the woven jute

bag");

_LIT(KLiteralDes2, "Waltz, bad nymph, for quick jigs vex");

TPtrC alpha(KLiteralDes1);

TPtrC beta(KLiteralDes2);

alpha.Set(KLiteralDes2); // alpha points to the data in KLiteralDes2

beta.Set(KLiteralDes1); // beta points to the data in KLiteralDes1

const TPtrC gamma(beta); // Points to the data in beta, KLiteralDes1

gamma.Set(alpha); // Generates a warning, but points to alpha

? TPtr

TPtr 是可修改的指针描述符,它可用来访问和修改字符串或二进制数据。TDesC 和TDes所提供的所有的操作都适用于TPtr。这个类定义了一些构造方法,使得它能从指向内存的指针构造,并设置适当的长度值和最大长度值。

编译器也会产生隐式的构造方法和拷贝构造方法,因为它们没有被声明为保护的或私有的。一个TPtr对象可以从其它的可修改描述符构造,例如:通过在不可修改的描述符上调用Des()方法,这个方法返回一个如下所示的TPtr对象:

_LIT(KLiteralDes1, "Jackdaws love my big sphinx of quartz");

TBufC<60> buf(KLiteralDes1); // TBufC are described later

TPtr ptr(buf.Des()); // Copy construction; can modify the data in buf

TInt length = ptr.Length(); // Length = 37

TInt maxLength = ptr.MaxLength(); // Maximum length = 60, as for buf

TUint8* memoryLocation; // Valid pointer into memory

...

TInt len = 12; // Length of data to be represented

TInt maxLen = 32; // Maximum length to be represented

// Construct a pointer descriptor from a pointer into memory

上一页  4 5 6 7 8 9 10 11 12 13 14  下一页

Tags:Symbian 开发 入门

编辑录入:coldstar [复制链接] [打 印]
赞助商链接