kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #24770
Re: Copy & operator=
On 05/26/2016 09:46 AM, jp charras wrote:
> Le 26/05/2016 à 08:59, Maciej Sumiński a écrit :
>> Thank you Cirilo. I am trying to be really careful here, that is why I
>> am asking for more details. I would like to make the code simpler, so
>> there are no more doubts about whether to use operator = or Copy() (for
>> some classes it is exactly the same code).
>>
>> For the scenario you described, there is EDA_ITEM::Clone() method.
>> Copy() is defined only for a few classes, and others are copied using
>> operator=, so it is a bit confusing to me.
>>
>> Regards,
>> Orson
>
> Usually, Copy() is used when you do not want to copy all members.
> Typically when you do not want to change Pback, Pnext, m_Parent, time stamp and a few other pointers
> and flags.
>
> If these members are reinitialized (or have the right value) after copy, using Copy() or = (for
> classes which do not define Copy() and can be copied by = ) can give the same result.
Hi Jean-Pierre,
Thank you for the explanations, it is quite clear now. The code is
currently a bit incoherent (e.g. ZONE_CONTAINER::Copy() or
TEXT_PCB::Copy()), I presume you will not mind if I fix it?
Regards,
Orson
Attachment:
signature.asc
Description: OpenPGP digital signature
Follow ups
References