Disposing generic pointers
John L. Ries
jries at salford-systems.com
Tue Apr 6 18:47:34 CEST 2010
On Tue, 6 Apr 2010, Adriaan van Os wrote:
> John L. Ries wrote:
>> On Tue, 6 Apr 2010, Adriaan van Os wrote:
>>> John L. Ries wrote:
>>>> Since the unit in question is supposed to work with whatever data type
>>>> is thrown at it (it is intended to be generic set of queuing routines),
>>> But how are the queue elements allocated ?
>> By the calling program. All the queue unit ever sees are pointers and
>> its own infrastructure.
> But then, I think it would be good style to add a call to the unit that
> does the allocation - if you really want the unit to be generic, as you
> write. After all, it is possible that the calling program chooses an
> allocater that is incompatible with the deallocator in the unit.
Perhaps. In general, it is the calling program that is expected to
deallocate the elements (after dequeueing them). The procedure I sent in
my initial message is intended to delallocate a queue that might not be
empty, though normally it would be (but it is still a good idea to check).
It is actually the only routine in the unit that deallocates elements.
Possibly, for Borland compatibility, I will need to add an argument to the
procedure that gives the element length, but that is a lot more C-ish than
John L. Ries |
Salford Systems |
Phone: (619)543-8880 x107 |
or (435)867-8885 |
More information about the Gpc