20.06.2011, в 21:29, David Levin написал(а):

> Here's a few benefits:
> 1. It makes the code more self-documenting. It clearly indicates that this 
> function intends to take a reference to the item.
> 2. It is consistent with the rules for PassOwnPtr. It is nice to have one set 
> of things in mind that are consistent.
> 3. Just like one shouldn't document a function based on who calls it because 
> that may change, it makes sense to base the argument types on the how the 
> function uses them not on the callers.

1 and 3 sound very closely related. Yet I'm not sure if they are good.

PassRefPtr is useful even if the function doesn't take any kind of ownership. 
It's useful when callers want to get rid of ownership, and then they can do 
that efficiently.

As Maciej mentioned, eventually we may be able to get rid of PassRefPtr, and 
use C++0x move semantics. But applicability of move semantics also depends on 
how a function is called, not on what it is going to do with its arguments.

- WBR, Alexey Proskuryakov

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to