[Development] Qt 5.9's new garbage collector documentation? + root_ptr
Phil Bouchard
philippeb8 at gmail.com
Sat Jul 8 04:14:06 CEST 2017
On 07/07/2017 09:55 PM, Thiago Macieira wrote:
> On sexta-feira, 7 de julho de 2017 18:25:19 PDT Phil Bouchard wrote:
>
> JavaScript has no such thing as l or rvalues. Please define use proper terms
> for the language in question.
I get your point but those are just shortcuts to the following definitions:
l-value: write variable
r-value: read-only variable
> I don't see a problem with variables being modified. But I do see a problem if
> a parameter is copied to a global variable. Requiring a deep copy is wasteful
> when the current code requires no such thing. So now you have to prove that
> htis extra waste is offset by the benefits of using root_ptr elsewhere.
>
>> function foo(source)
>> {
>> var image = new Image();
>> image.height = 100;
>> image.title = file.name;
>> image.src = source; // parameter used as an r-value will remain
>> unaffected
>> return image; // return value will require 'image' to be a deep copy
>> },
>
> So if this Image object opened a 4K image @ 3840x2160 (= just under 32 MB),
> you're suggesting that all 32 MB be copied?
For this proposal, yes.
But if I can do a deep copy then I can certainly "re-set" the variable
(change the set the variable is owned by). If I can do that then we
won't need any deep copy.
I just need to think a little bit... thanks for your patience.
More information about the Development
mailing list