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