diff -r 89d6a7a84779 -r 25a17d01db0c Symbian3/PDK/Source/GUID-C642BA79-0E9B-5C62-9DC7-C64759830CD4.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/PDK/Source/GUID-C642BA79-0E9B-5C62-9DC7-C64759830CD4.dita Fri Jan 22 18:26:19 2010 +0000 @@ -0,0 +1,26 @@ + + + + + +Dynamic +buffers versus descriptors, arrays and heap cellsExplains the difference between various types of buffers. +

The essential difference between dynamic buffers and more straightforward +means of storing binary data is that C arrays and descriptors provide essentially +non-extensible buffers. Any attempt to write beyond the end of a C array results +in undefined (and usually disastrous) consequences. Any attempt to write beyond +the end of a descriptor results in a panic.

+

Heap cells may be extended, but not without limit; it may be impossible +to extend a heap cell further, because the heap is exhausted, or too fragmented +to permit the extension. In addition, if heap cell re-allocation results in +movement of the cell, re-allocation can be unduly expensive. If re-allocation +is undesirable, then a buffer could be extended by allocating a new segment +in a new allocation cell. Segmented buffers have this behaviour: flat buffers +use re-allocation alone.

+
\ No newline at end of file