Graphics properties as objects
John Swensen
jpswensen at comcast.net
Sat Jan 5 16:23:33 CST 2008
On Jan 5, 2008, at 5:05 PM, Michael Goffioul wrote:
> On 1/5/08, John W. Eaton <jwe at bevo.che.wisc.edu> wrote:
>> Is it even necessary to have the base class do reference counting
>> here?
>>
>> Since the properties are tied to the graphics objects that contain
>> them, shouldn't we only expect them to exist as long as the graphics
>> object exists?
>>
>> If individual properties do need to exist longer than the graphics
>> objects that contain them, then wouldn't it be sufficient to simply
>> have a copy of the property? Aren't most (all) of the property
>> classes composed of objects that are already reference counted? So
>> copying them should be relatively cheap and since they are passed
>> around by value, they should not be deleted unnecessarily?
>
> I'm not sure I fully understand you. I agree with copying properties
> instead of const-referencing. However, if you want to have a map of
> all properties, how would you define it? std::map<caseless_str, XXX>?
> If XXX is "property" and you don't do reference couting, you will get
> a memory leak with dynamic properties (that wil only be stored in the
> map). Or maybe you mean simply to disable "somehow" reference
> counting for fixed properties?
>
> Michael.
Is there a reason you use your own reference counting instead of using
auto_ptr or some other smart pointer? I don't know the Octave code
really well, but have noticed the ref variable in a variety of classes.
John Swensen
More information about the Octave-maintainers
mailing list